首页 > 编程知识 正文

符合开闭原则的设计模式,设计模式有哪几种

时间:2023-05-04 12:03:53 阅读:162716 作者:1831

一、开关原则对扩张开发,对修正关闭。 当程序需要扩展时,不能修改原始代码以实现热插拔效果。 简单地说,这是为了改善程序的扩展性,使维护和升级变得容易。

要获得这样的效果,必须使用接口抽象类

抽象灵活性强,适用性广,只要抽象合理,就能基本保持软件体系结构的稳定。 另一方面,软件中易变的细节可以从抽象派生的实现类中扩展,如果软件需要变化,在必要时可以重新派生和扩展实现类。

二、反因式置换原则反因式置换原则是面向对象设计的基本原则之一。

置换原则:只要是基类能出现的地方,子类就一定能出现。 易懂的理解:子类可以扩展父类的功能,但不能改变父类原有的功能也就是说,如果子类继承父类,则在添加新方法以完成新功能之前,尽量不重写父类的方法。

三、逆转原则高层模块不应该依赖底层模块,两者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象。 简而言之,它要求对抽象进行编程,而不对实现进行编程,这会降低客户与实现模块之间的耦合。

四.接口隔离原则客户端不得不依赖不使用的方法。 一个类对另一个类的依赖应该在最小的界面上建立。

五.迪米特定律。迪米特定律也称为最小知识原则。

33558 www.Sina.com/(talkonlytoyourimmdiatefriendsandnottostrangers )。

这意味着,如果两个软件实体没有必要直接通信,并不应该直接进行相互呼叫,而是可以通过第三方转发该呼叫。 其目的是降低类之间的耦合度,提供模块的相对独立性。

迪米特定律中的“朋友”是指当前对象本身、当前对象的成员对象、由当前对象创建的对象、当前对象的方法参数等,而这些对象是当前对象

六、合成复用原则考虑与合成复用原则尽量使用组合或聚合等关联关系实现,其次使用继承关系实现。

通常,类的复用有继承复用和合成复用两种。

继承复用具有简单容易实现的优点,但请参阅以下只和你的直接朋友交谈,不跟“陌生人” 说话

1 .继承复用会损害类的封装性。 这种重用也称为白盒重用,因为继承将父类的实现详细信息公开给子类,而父类对子类是透明的。

2 .子类和父类结合度高。 更改父类的实现会更改子类的实现,不利于类的扩展和维护。

3 .限制复用灵活性。 从父类继承的实现是静态的,是在编译时定义的,因此不能在运行时修改。

使用组合或聚合复用时,可以将现有对象包含在新对象的一部分中。 新对象可以调用现有对象的功能。缺点

1 .保持了类的封装性。 此复用也称为黑匣子复用,因为新对象看不到分量对象的内部细节。

2 .对象间结合度较低。 可以在类成员的位置声明抽象。

3 .复用灵活性强。 这种复用可以在运行时动态进行,新对象可以动态引用组件对象类型相同的对象。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。