您的位置:首页 > 其它

面向对象中常见的设计原则

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)在这个图中我们添加了一个运算类的父类,这样我们再添加减法类的时候就不用修改客户端类。

*依赖倒置原则

*接口隔离原则

*最少知识原则(迪米特法则)

*少用集成多用组合原则(复合原则)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: