面向对象编程的基本原则
1、单一职责原则。一个类,只需要做好一件事情,不要一个类就完成所有的事情,我们应该将其拆分成小的模块,每个负责每个的职责,切勿贪多。
2、开发封闭原则。一个类,应该可以扩展,但不可修改。不应该使用修改来增加功能,而是通过扩展来增加功能。
3、依赖倒置原则。一个类,不应该强依赖于另外一个类。每个类,对于另外一个类,都是可以替换的。比如有A和B两个类,如果A需要依赖于B,那实际上不应该在A类中,直接调用B类,而是应该使用依赖注入的方式,通过注入,将B类的对象,注入给A类,这样的话,B对A来说,是可以替换的。如果现在有一个类C,提供了跟B类一致的接口,这时候,就可以在C和B之间切换。
4、配置化原则。尽可能地使用配置,而不是硬编码。就是说,对于一些数据参数,我们应该把它写到文件里,调的时候,直接通过调取配置文件,获取相关参数,而非将这些配置数据,赤裸裸地写在代码行里。还有,像类的关系,也应该是可以配置,写入到配置文件的。比如3里面提到的例子A、B、C三个类,到底A是应该依赖于B,还是C,都是应该在配置文件里配置的,而非,在代码行里设置操作。
5、面向接口编程原则。而非,面向实现编程,只需要关心接口,而不是,关心实现。拿3的例子来说,比如A,只需要了解B和C提供了哪个接口,而不需要关心B和C是怎么实现的。
MVC结构
模型,试图,控制器。MVC结构是一种B/S或C/S软件工程的组织方式。
1、模型(Model):数据的存储和封装。也就是说关于数据库的操作都是在模型层来完成的!
2、视图(View):展现层的封装,如Web系统的模板文件。也就是放html、html文件的地方,用来显示网页数据信息的。
3、控制器(Controller):业务代码或功能的实现部分。
作为一种工程组织结构,我们在开始编码的时候,需要设置Apache或Nginx,对入口文件进行映射。将所有非静态的url映射到PHP文件,准确地说是Controller控制器的某个方法。
配置与设计模式
1、PHP中使用ArrayAccess实现配置文件的加载
2、在工厂方法中读取配置,生成可配置化的对象
3、使用装饰器模式实现权限验证,模板渲染,JSON串化
4、使用观察者模式,实现数据更新事件的一系列更新操作
5、使用代理模式实现数据库的主从自动切换
-------------------------------------------------------------------------
相关声明:此次PHP设计模式系列,基于慕课网 Rango老师《大话PHP设计模式》课程,学习整理,仅供学习,不作任何商业用途!若发文有不妥之处,请联系本人,做相关处理。