JA V A OO设计原则
1 目的: (1)
2 分类 (1)
2.1SRP(单一职责) (1)
2.2DRY (不要重复代码) (1)
2.3OCP (开闭原则) (2)
2.4LSP(子类必须能够替换基类) (3)
2.5DIP(依赖倒置原则) (3)
2.6ISP(接口隔离原则) (4)
1目的:
设计原则是基本的工具,应用这些规则可使代码更加灵活、更容易维护,更容易扩展
2分类
2.1SRP(单一职责)
The single responsibility principle
系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。
Every object in your system should have a single responsibility ,
and all the object s services should be focused on carrying out that single responsibility .
每一个职责都是一个设计的变因,需求变化的时候,需求变化反映为类职责的变化。
当你系统里面的对象都只有一个变化的原因的时候,你就已经很好的遵循了SRP原则。
如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责的变化就可能削弱或者抑制这个类其它职责的能力。这种设计会导致脆弱的设计。当变化发生的时候,设计会遭到意想不到的破坏。
SRP 让这个系统更容易管理维护,因为不是所有的问题都搅在一起。
内聚Cohesion 其实是SRP原则的另外一个名字.你写了高内聚的软件其实就是说你很好的应用了SRP 原则。
怎么判断一个职责是不是一个对象的呢?你试着让这个对象自己来完成这个职责,比如:“书自己阅读内容”,
阅读的职责显然不是书自己的。
仅当变化发生时,变化的轴线才具有实际的意义,如果没有征兆,那么应用SRP或者任何其它的原则都是不明智的。
2.2DRY (不要重复代码)
Don't repeat yourself Principle