PHP中如何理解设计模式的基本概念、类型及遵循的原则?