开闭原则
定义:模块,方法和类应该对扩展开放,对修改封闭。
评价:开闭原则的本质上意味着将软件设计成为新功能能够作为单独的模块加入系统,这样就降低了集成的成本。
完全遵守开闭原则是不可能的,但是作为一个目标,指引正确的方向。代码越按照这个规则来,以后适应新的需求就越轻松。
从背景设计原则
定义:在设计各个部分所展示的细节之前,先创建总体的概念。
从一个最简单的层次开始,然后逐渐添加细节和特征,随着逐步深化,设计也渐趋复杂的过程。
复杂化和依赖倒置是使用设计模式的中心基础原则。
依赖倒置原则:高层模块不该依赖于底层模块。高层模块和低层模块都应该依赖抽象。
抽象不应该依赖于细节。细节应该依赖于抽象。
封装变化原则
大家可以看到,所有的设计模式里面,继承很少超过两层。目的在于不让一个类封装两个要变化的事物,除非这些变化明确地耦合在一起。
抽象类和接口
具有公共状态或者行为的对象从抽象类派生,而不直接共享这一状态或者行为的对象实现接口。
理性怀疑原则
模式本身是非常有用的,但是它应该作为一种思考问题的辅助手段,而不是解决问题的处方。
要避免:
- 浮于表面
- 偏见:对模式过于偏信,用已经选定的模式来解释所有数据。
- 错选:不理解模式适用的背景和条件
- 误判:不熟悉模式
- 削足适履:忽略了实际的,具体的实例行为中的例外情况。
网友评论