什么是设计模式
什么是设计模式 设计模式是一套被反复使用、容易被他人理解的、可靠的代码设计经验的总结。 那么我们常说的架构、框架和设计模式有什么关系呢? 架构是一套体系结构,是项目的整体解决方案; 框架是可供复用的半成品软件,是具体程序代码。 架构一般会涉及到采用什么样的框架来加速和优化某部分问题的解决,而好的框架代码里合理使用了很多设计模式。 比如:laravel框架中就使用到了很多的设计模式。其中包括单例模式,门面模式,注册树模式(DI/IOC),适配器模式,观察者模式等多种设计模式。 设计模式的目的是为了更好的代码重用性,可读性,可靠性,可维护性。 设计模式的作用 设计模式能解决: 替换杂乱无章的代码,形成良好的代码风格 代码易读,工程师们都能很容易理解 增加新功能时不用修改接口,可扩展性强 稳定性好,一般不会出现未知的问题 设计模式不能解决: 设计模式是用来组织你的代码的模板,而不是直接调用的库 设计模式并非最高效,但是代码的可读性和可维护性更重要 不要一味追求并套用设计模式,重构时多考虑 设计模式–六大原则 单一职责原则 定义 不要存在多于一个导致类变更的原因。既一个类只负责一项职责。 场景 类T负责两个不同的职责;职责P1,职责P2,当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 <?php class Animal { public function bre($animal) { echo $animal."呼吸空气"; } } class Program { public function main() { $animal = new Animal(); $animal->bre('猫'); $animal->bre('狗'); $animal->bre('鱼'); } } 修正 遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。 <?php class Ter { public function bre($animal) { echo $animal."呼吸空气"; } } class Aqu { public function bre($animal) { echo $animal....