[b]面向对象的特性[/b]
封装
继承
多态
[b]面向对象的本质[/b]
封装稳定的抽象
设计原则为指导
设计模式为手段
[b]设计原则[/b]
[b]职责单一原则[/b]:SRP,单一职责原则,一个类应该有且只有一个改变的理由。
[b]里氏替换原则[/b]:Liskov替换原则,派生类要与其基类自相容
[b]开闭原则[/b]:OCP,开放封闭原则,你应该能够不用修改原有类就能扩展一个类的行为。
[b]依赖倒置原则[/b]:DIP,依赖倒置原则,依赖于抽象而不是实现。
[b]接口隔离原则[/b]:ISP,接口隔离原则,客户只要关注它们所需的接口。
[b]可以从考虑实现者和使用者的扩展性角度分类[/b]
实现者:职责单一原则 里氏替换原则 依赖倒置原则 开闭原则
使用者:接口隔离原则
[b]包设计原则[/b]
[b]重用发布等价原则[/b](The Release Reuse Equivalency Principle (REP))
要继承以前发布的版本
[b]共同重用原则[/b](The Common Reuse Principle (CRP))
重用了包里的一个类就可以重用包里的所有的类
[b] 共同封闭原则[/b](The Common Closure Principle (CCP))
这是单一职责原则对于包的重新规定
[b]无环依赖原则[/b](The Acyclic Dependencies Principle (ADP))
包的依赖关系图应该是一个有向无环图。打破环的第一个方法:
依赖倒置原则,使一个包不再依赖于另一个包,而只是依赖于其抽象接口;第二个方法: 创建一个新包来包含公共依赖部份。
[b]稳定依赖原则[/b](The Stable Dependencies Principle (SDP))
朝着的稳定的方向进行依赖
[b]稳定抽象原则[/b](The Stable Abstractions Principle (SAP))
一个稳定的包同时应该是抽象的
[i]CCP有益于维护者(包的作者),而REP和CRP有益于重用者(包的使用者)。[/i]
[b]最终目标[/b]
高内局、低偶合、灵活的扩展
[b]内在联系[/b]
面向对象的特性经过实践产生了设计原则,设计原则指导产生了各式各样的设计模式。
封装
继承
多态
[b]面向对象的本质[/b]
封装稳定的抽象
设计原则为指导
设计模式为手段
[b]设计原则[/b]
[b]职责单一原则[/b]:SRP,单一职责原则,一个类应该有且只有一个改变的理由。
[b]里氏替换原则[/b]:Liskov替换原则,派生类要与其基类自相容
[b]开闭原则[/b]:OCP,开放封闭原则,你应该能够不用修改原有类就能扩展一个类的行为。
[b]依赖倒置原则[/b]:DIP,依赖倒置原则,依赖于抽象而不是实现。
[b]接口隔离原则[/b]:ISP,接口隔离原则,客户只要关注它们所需的接口。
[b]可以从考虑实现者和使用者的扩展性角度分类[/b]
实现者:职责单一原则 里氏替换原则 依赖倒置原则 开闭原则
使用者:接口隔离原则
[b]包设计原则[/b]
[b]重用发布等价原则[/b](The Release Reuse Equivalency Principle (REP))
要继承以前发布的版本
[b]共同重用原则[/b](The Common Reuse Principle (CRP))
重用了包里的一个类就可以重用包里的所有的类
[b] 共同封闭原则[/b](The Common Closure Principle (CCP))
这是单一职责原则对于包的重新规定
[b]无环依赖原则[/b](The Acyclic Dependencies Principle (ADP))
包的依赖关系图应该是一个有向无环图。打破环的第一个方法:
依赖倒置原则,使一个包不再依赖于另一个包,而只是依赖于其抽象接口;第二个方法: 创建一个新包来包含公共依赖部份。
[b]稳定依赖原则[/b](The Stable Dependencies Principle (SDP))
朝着的稳定的方向进行依赖
[b]稳定抽象原则[/b](The Stable Abstractions Principle (SAP))
一个稳定的包同时应该是抽象的
[i]CCP有益于维护者(包的作者),而REP和CRP有益于重用者(包的使用者)。[/i]
[b]最终目标[/b]
高内局、低偶合、灵活的扩展
[b]内在联系[/b]
面向对象的特性经过实践产生了设计原则,设计原则指导产生了各式各样的设计模式。