五大原则
- 单一职责:一个类只需要做好一件事情。
- 开放关闭:一个类可扩展,而不可修改。
- 依赖倒置:一个类不应该强依赖另一个类,每个类对于另一个类都是可替换的。
- 配置化:尽可能地使用配置,而不是硬编码。
- 面向接口编程:只需关心接口,不需要关心实现。
设计模式和应用场景
-
单例模式:单例设计模式常应用于数据库类设计,采用单例模式,只连接一次数据库,防止打开多个数据库连接。
使用详见
参考:http://www.cnblogs.com/DeanChopper/p/4761253.html -
工厂模式:常用于根据输入参数的不同或者应用程序配置的不同来创建一种专门用来实例化并返回其对应的类的实例。
使用详见
参考:http://www.cnblogs.com/DeanChopper/p/4764512.html -
注册树模式:注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候从对象树上采摘的模式设计方法。
使用详见
参考:http://www.cnblogs.com/DeanChopper/p/4767181.html -
适配器模式:老代码接口不适应新的接口需求,或者代码很多很乱不便于继续修改,或者使用第三方类库。例如:php连接数据库的方法:mysql,mysqli,pdo,可以用适配器统一。
使用详见
参考:http://www.cnblogs.com/DeanChopper/p/4770572.html -
观察者模式:允许某个类观察另一个类的状态,当被观察的类状态发生改变的时候,观察类可以收到通知并且做出相应的动作;观察者模式为您提供了避免组件之间紧密耦。
使用详见
参考:http://www.cnblogs.com/DeanChopper/p/4830134.html -
策略者模式:将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。例如:一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告。
使用详见
参考:http://www.cnblogs.com/DeanChopper/p/4764512.html -
装饰器模式:动态地添加修改类的功能。
使用详见
参考:http://www.cnblogs.com/DeanChopper/p/4764512.html