面向对象设计的基本原则
2015-08-07 10:24
190 查看
最近又开始重新看设计模式这本书,这一次决定好好的理解一下每个设计模式,在平时工作中的时候加以实践,相信定能有所收获!
以下是面向对象设计的基本原则:
1.Single responsibility principle(SRP),单一职责原则,指一个类它的职责应该是固定的一种,比如类中有两个不同的方法分别负责两个功能的实现,或者一个方法中由不同的分支来处理不同功能的实现。
2.Open-Close Principle(OCP),开-闭原则,讲的是设计要多扩展有良好的支持,而对修改有严格的限制。
3.Liskov Substituition Principle(LSP),里氏代换原则,指子类必须能够替换基类,不能隐藏或覆盖基类,比如子类重写或重载父类的某个方法。当出现这种情况的时候需要让两个类实现统一接口的方式,或者使用组合的方式替换这种父子类的结构。
4.Dependence Inversion Principle(DIP),依赖倒换原则,“设计要依赖于抽象而不是具体化”。换句话说就是设计的时候我们要用抽象来思考,而不是一上来就开始划分我需要哪些哪些类。
5. Interface Segregation Principle(ISP),接口隔离原则,“将大的接口打散成多个小接口”。
6.Composition/Aggregation Reuse Principle(CARP),组合重用原则,设计者首先应当考虑复合/聚合,而不是继承。在实践中复合/聚合会带来比继承更大的利益,所以要优先考虑。
7.Law of Demeter or Least Knowlegde Principle(LoD or LKP),迪米特法则或最少知识原则,一个对象应当尽可能少的去了解其他对象。一个类尽量少向外暴露自己的成员变量或者方法等。能私有化的尽量私有化。
以下是面向对象设计的基本原则:
1.Single responsibility principle(SRP),单一职责原则,指一个类它的职责应该是固定的一种,比如类中有两个不同的方法分别负责两个功能的实现,或者一个方法中由不同的分支来处理不同功能的实现。
2.Open-Close Principle(OCP),开-闭原则,讲的是设计要多扩展有良好的支持,而对修改有严格的限制。
3.Liskov Substituition Principle(LSP),里氏代换原则,指子类必须能够替换基类,不能隐藏或覆盖基类,比如子类重写或重载父类的某个方法。当出现这种情况的时候需要让两个类实现统一接口的方式,或者使用组合的方式替换这种父子类的结构。
4.Dependence Inversion Principle(DIP),依赖倒换原则,“设计要依赖于抽象而不是具体化”。换句话说就是设计的时候我们要用抽象来思考,而不是一上来就开始划分我需要哪些哪些类。
5. Interface Segregation Principle(ISP),接口隔离原则,“将大的接口打散成多个小接口”。
6.Composition/Aggregation Reuse Principle(CARP),组合重用原则,设计者首先应当考虑复合/聚合,而不是继承。在实践中复合/聚合会带来比继承更大的利益,所以要优先考虑。
7.Law of Demeter or Least Knowlegde Principle(LoD or LKP),迪米特法则或最少知识原则,一个对象应当尽可能少的去了解其他对象。一个类尽量少向外暴露自己的成员变量或者方法等。能私有化的尽量私有化。
相关文章推荐
- 2014年博士研究生招生专业方向简介
- 南邮 OJ 1960 计算机基础知识大赛 7
- 使用Jsoup解析从网络上获取到的html源码
- oracle变量(2)
- springmvc对restful风格的实现
- WPF Wonders: Transformations (and Robots!)
- hdu 1004 Let the balloon rise
- ios学习之路
- 字符串匹配的KMP算法
- 如何查看任务管理器里面的线程以及结束线程
- word文档转换成pdf的格式转换技巧
- Codeforces Gym100342E Minima
- [快速幂,取模]HDU5363 多校联合第六场 Key set
- 南邮 OJ 1959 计算机基础知识大赛 6
- JVM支——垃圾回收简介
- 脚下,梦开始的地方——七月总结
- android 初体验(0)
- hadoop的理论技术(谷歌三大论文)
- centos6.6重启网络报错Error: Connection activation failed: Device not managed by NetworkManager的解决办法
- Application的作用