面向对象设计原则
2007-08-13 17:33
225 查看
一、单一职责原则[/b]
就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因;
一个合理的类,应该仅有一个引起它变化的原因,即单一职责;
二、开放封闭原则[/b]
实现开放封闭原则的关键是抽象;
依据开闭原则,我们尽量不要修改类,只扩展类,但在有些情况下会出现一些比较怪异的状况,这时可以采用几个类进行组合来完成;
将可能发生变化的部分封装成一个对象,封装变化是实现"开闭原则"的一个重要手段,如经常发生变化的状态值,如温度,颜色,积分,排名等等,可以将这些作为独立的属性,如果参数之间有关系,有必要进行抽象。对于行为,如果是基本不变的,则可以直接作为对象的方法,否则考虑抽象或者封装这些行为;
三、Liskov替换原则[/b]
保证系统或子系统有良好的扩展性。只有子类能够完全替换父类,才能保证系统或子系统在运行期内识别子类,因而使得系统或子系统有了良好的扩展性。
此原则和“开放封闭原则”的作用有点类似,其实这些面向对象的基本原则就2条:
1:面向接口编程,而不是面向实现;
2:用组合而不主张用继承。
四、依赖倒置原则[/b]
描述:
1、高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
2、抽象不应该依赖于细节,细节应该依赖于抽象。
启发式规则:
1、任何变量都不应该持有一个指向具体类的指针或者引用
2、任何类都不应该从具体类派生(始于抽象,来自具体)
3、任何方法都不应该覆写它的任何基类中的已经实现了的方法
五、接口隔离原则[/b]
使用多个专门的接口比使用单一的总接口要好。
一个类对另外一个类的依赖性应当是建立在最小的接口上的。
一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。
就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因;
一个合理的类,应该仅有一个引起它变化的原因,即单一职责;
二、开放封闭原则[/b]
实现开放封闭原则的关键是抽象;
依据开闭原则,我们尽量不要修改类,只扩展类,但在有些情况下会出现一些比较怪异的状况,这时可以采用几个类进行组合来完成;
将可能发生变化的部分封装成一个对象,封装变化是实现"开闭原则"的一个重要手段,如经常发生变化的状态值,如温度,颜色,积分,排名等等,可以将这些作为独立的属性,如果参数之间有关系,有必要进行抽象。对于行为,如果是基本不变的,则可以直接作为对象的方法,否则考虑抽象或者封装这些行为;
三、Liskov替换原则[/b]
保证系统或子系统有良好的扩展性。只有子类能够完全替换父类,才能保证系统或子系统在运行期内识别子类,因而使得系统或子系统有了良好的扩展性。
此原则和“开放封闭原则”的作用有点类似,其实这些面向对象的基本原则就2条:
1:面向接口编程,而不是面向实现;
2:用组合而不主张用继承。
四、依赖倒置原则[/b]
描述:
1、高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
2、抽象不应该依赖于细节,细节应该依赖于抽象。
启发式规则:
1、任何变量都不应该持有一个指向具体类的指针或者引用
2、任何类都不应该从具体类派生(始于抽象,来自具体)
3、任何方法都不应该覆写它的任何基类中的已经实现了的方法
五、接口隔离原则[/b]
使用多个专门的接口比使用单一的总接口要好。
一个类对另外一个类的依赖性应当是建立在最小的接口上的。
一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。
相关文章推荐
- 面向对象设计的SOLID原则
- 设计模式笔记 1. 面向对象设计模式与原则
- [转]面向对象设计原则
- 面向对象设计原则-里氏代换原则
- Android编程思想,面向对象程序设计第一篇——设计模式6个原则
- 面向对象设计原则
- 面向对象设计原则之接口隔离原则
- 面向对象设计原则——开放关闭原则
- 面向对象设计原则
- 面向对象设计七大原则
- 面向对象设计七大原则
- 37条Java面向对象设计的经验原则,成为高级程序员必备
- 设计模式:面向对象设计模式与原则
- 面向对象设计原则之单一职责原则
- 面向对象设计原则之合成复用原则
- 面向对象设计之开闭原则
- 面向对象设计原则之依赖倒转原则
- 面向对象设计原则 面向对象设计原则之单一职责原则
- 凭什么要用面向对象编程——面向对象重要设计原则概述[转]
- 面向对象设计原则