面向对象中常见的设计原则
2017-09-21 10:21
309 查看
*单一职责原则
*开闭原则
1. 开闭原则定义 :一个软件实体应当对扩展开放,对修改关闭。也就是说在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个模块的行为。2. 开闭原则分析:
(1)开闭原则由Bertrand Meyer于1988年提出,它是面向对象设计中最重要的原则之一。
(2)在开闭原则的定义中,软件实体可以指一个软件模块、一个由多个类组成的局部结构或一个独立的类。
(3)抽象化是开闭原则的关键。
(4)开闭原则还可以通过一个更加具体的“对可变性封装原则”来描述,对可变性封装原则(Principle of Encapsulation of Variation,EVP)要求找到系统的可变因素并将其封装起来。
3. 开闭原则实例:
某图形界面系统提供了各种不同形状的按钮,客户端代码可针对这些按钮进行编程,用户可能会改变需求要求使用不同的按钮,原始设计方案如图所示:
图(1)
现对该系统进行重构,使之满足开闭原则的要求。
图(2)
对比分析
图(1):客户端的一个方法直接调用加法类,但是我想添加一个减法类,你就会发现添加减法类就得改变加法类中代码(用switch语句实现),这就违背了“开闭原则”,于是我们就应该重新重构。
如图(2)在这个图中我们添加了一个运算类的父类,这样我们再添加减法类的时候就不用修改客户端类。
*依赖倒置原则
*接口隔离原则
*最少知识原则(迪米特法则)
*少用集成多用组合原则(复合原则)
相关文章推荐
- 面向对象篇(OOP)--07 面向对象思想设计原则及常见设计模式
- java 之 面向对象思想设计原则及常见设计模式
- 【我的Java笔记】Java面向对象思想设计原则及常见设计模式
- 面向对象思想设计原则及常见设计模式
- java 之 面向对象思想设计原则及常见设计模式
- 面向对象思想设计原则及常见设计模式
- 面向对象设计原则之接口隔离原则
- 面向对象设计原则三:里氏替换原则(LSP)
- 面向对象设计的SOLID原则
- 面向对象的设计原则第二篇:我无懈可击,我是英雄!颤抖吧妖魔们
- 面向对象设计的69条经验原则
- 面向对象设计原则
- 面向对象设计原则
- 面向对象设计原则
- 面向对象设计的6大原则!
- [设计模式]面向对象设计原则之迪米特法则(最少知道法则)
- 面向对象设计原则
- 【转】面向对象的7个基本设计原则
- 面向对象设计原则之接口隔离原则
- 面向对象设计原则