欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

设计模式的六大原则(个人笔记)

发布时间:2025/7/25 asp.net 112 豆豆
生活随笔 收集整理的这篇文章主要介绍了 设计模式的六大原则(个人笔记) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、单一职责原则

单一职责原则:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个 引起它变化的原因。

就是说一个类不能太”累“,一个类承担的责任越多,它被复用的肯能性就越小,而且一个类承担的责任过多,就相当于将这些职责耦合在一起,

当其中一个职责变化时,可能会影响到其他职责的运作,因此要将这些职责分离,封装在不同的类中。

单一职责的原则就是:实现高内聚、低耦合的指导方针,它是简单但是又难运用的原则,需要设计人员发现类的不同职责将其分离,而发现类的多重职责需要设计人员具有较强的

分析能力和设计能力和相关实践经验。

二、开闭原则

开闭原则:一个软件实体可以指一个应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

在开闭原则的定义中,一个软件实体可以指一个软件模块,一个由多个类组成的局部结构或一个独立的类。

为了满足开闭原则,需要对系统进行抽象设计,抽象化是开闭原则的关键。可以定义一个相对稳定的抽象层,在通过具体类来进行扩展,

如果有需要改动系统的行为,无需对抽象层进行任何改动,只需要增加新的具体类来实现新的业务功能即可,实现在不修改已有代码的基础上扩展系统的功能,达到开闭原则的要求。

三、里氏替换 原则

里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。

里氏替换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立。

如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。例如:我喜欢动物,那我一定喜欢狗,因为狗是动物的子类;

但是我喜欢狗,不能断定我喜欢动物。

里氏替换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来定义对象 ,

而在运行时再确定其子类类型,用子类对象来替换父类对象。

四、依赖倒置原则

依赖倒置原则:抽象不应该依赖于细节,细节应当依赖于抽象。

如果说开闭原则是面向对象设计的目标的话 ,那么依赖倒置原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。

依赖倒置原则要求我们在程序代码中传递参数时或在关联关系中,尽量引用高层次的抽象层类,即使用接口和抽象类进行变量类型声明、方法返回类型声明,

以及数据类型的转换等,而不要用具体类来做这些事情。为了确保该原则的应用,一个具体类应当实现接口和抽象类中声明过的方法,而不要给多余的方法,

否则将无法调用到子类中增加的新方法。

在实现依赖倒置原则时,我们需要针对抽象层编程,而将具体类的对象通过依赖注入的方式注入到其他对象中,依赖注入是指当一个对象要与其他对象发生依赖关系时,

通过抽象来注入所依赖的对象。常用的注入方式有三种,分别是:构造注入,设值注入和接口注入。构造注入是指通过构造函数来传入具体类的对象,设值注入是指通过Setter

方法来传入具体类的对象,而接口注入是指通过在接口中声明的业务方法来传入具体类的对象。这些方法在定义时使用的是抽象类型,在运行时再传入具体类型的对象,由子类对象覆盖父类对象。

五、接口隔离原则

每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。

接口仅仅提供客户端需要的行为,客户端不需要的行为则隐藏起来,应当为客户端提供尽可能小的单独的接口,而不要提供大的接口。

但是接口不能太小,如果太小会导致系统中接口泛滥,不利于维护。

六、迪米特法则

迪米特法则:一个软件实体应当尽可能少的与其他实体发生相互作用。

迪米特法则可降低系统的耦合度,使类与类之间保持松散的耦合关系。

迪米特法则还有几种定义形式,包括:不要和“陌生人”说话,只与你的直接朋友通信等。

其朋友包括以及几类:

(1)当前对象本身

(2)以参数形式传入到当前对象方法中的对象

(3)当前对象的成员对象

(4)如果当前对象的成员对象是一个集合,那么集合中的元素也是朋友

(5)当前对象所创的对象

任何一个对象,如果不满足上面的条件之一,就是当前对象的“朋友”,否则就是“陌生人”。

迪米特法则要求我们在设计系统时,应该尽量减少对象之间的交互,如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用,

如果其中的一个对象需要调用另一个对象的某一个方法的话,可以通过第三者转发这个调用。简而言之,就是通过引入一个合理的第三者来降低现有对象之间的耦合度。

在将迪米特法则运用到系统设计中时,要注意下面的几点:在类的划分上,应当尽量创建松耦合的类,类之间的耦合度越低,就越有利于复用,一个处在松耦合中的类一旦被修改,

不会对关联的类造成太大波及;在类的结构设计上,每一个类都应当尽量降低其成员变量和成员函数的访问权限;

在类的设计上,只要有可能,一个类型应当设计成不变类;在对其他类的引用上,一个对象对其他对象的引用应当降到最低。

 

转载于:https://www.cnblogs.com/BounceGuo/p/9724969.html

总结

以上是生活随笔为你收集整理的设计模式的六大原则(个人笔记)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。