设计原则
2016-01-19 21:20
274 查看
1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
2.针对接口编程,而不是针对实现编程。
针对实现编程:
3.多用组合(has-a),少用继承(is-a)。
使用组合不仅可将算法族封装成类,更可以“在运行时动态地改变行为”。
4.为了交互对象之间的松耦合设计而努力。
松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到最低。
5.类应该对扩展开放,对修改关闭。
允许类容易扩展,在不修改现有代码的情况下,就可搭配新的行为。
6.依赖倒置原则:要依赖抽象,不要依赖具体类。
当一个类A的具体实现会影响另一个类B,则B依赖A的具体实现。
这个原则说明了:不能让高层组件依赖低层组件,而且,不管高层或低层组件,“两者”都应该依赖于抽象。
“高层”组件:是由其他低层组件定义其行为的类。
7.最少知识原则:只和你的密友谈话。
当你在设计一个系统,不管是任何对象,你都要注意它所交互的类有哪些,并注意它和这些类是如何交互的。
2.针对接口编程,而不是针对实现编程。
针对实现编程:
Dog d=new Dog(); //d是Dog的具体实现 d.bark(); //针对接口编程:
Animal animal=new Dog(); //利用animal进行多态调用 animal.makeSound();
3.多用组合(has-a),少用继承(is-a)。
使用组合不仅可将算法族封装成类,更可以“在运行时动态地改变行为”。
4.为了交互对象之间的松耦合设计而努力。
松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到最低。
5.类应该对扩展开放,对修改关闭。
允许类容易扩展,在不修改现有代码的情况下,就可搭配新的行为。
6.依赖倒置原则:要依赖抽象,不要依赖具体类。
当一个类A的具体实现会影响另一个类B,则B依赖A的具体实现。
这个原则说明了:不能让高层组件依赖低层组件,而且,不管高层或低层组件,“两者”都应该依赖于抽象。
“高层”组件:是由其他低层组件定义其行为的类。
7.最少知识原则:只和你的密友谈话。
当你在设计一个系统,不管是任何对象,你都要注意它所交互的类有哪些,并注意它和这些类是如何交互的。
相关文章推荐
- Maven使用教程
- unix网络编程I卷之字节流套接字中的read和write问题
- 【LeetCode OJ 016】3Sum Closest
- AndroidStudio jni 开发
- 吃糖果问题
- RTSP协议格式
- 学习笔记------数据结构(C语言版)栈应用 括号匹配
- 通讯录(一)——通讯录所有列的名字和作用
- String类的方法练习
- 献给初学iOS的小盆友们——微博app项目开发之三设置导航条
- 链表排序
- android 触控操作 MotionEvent【转】
- [LeetCode66]Plus One
- nginx服务器配置详解
- 使用PYTHON解析Wireshark的PCAP文件
- GridView中实现元素填充剩余空间(自适应)
- uedito在线管理图片无法预览的问题
- vi 常用命令整理
- C语言的面向对象编程
- 在eclipse导入项目的步骤