C# 设计模式一一六大基本原则

本文介绍了软件设计的五大原则。单一职责原则指一个类只负责一项职责,可降低复杂度和变更风险;里氏替换原则是子类可替换父类;开放 - 封闭原则要求软件实体可扩展不可修改;依赖倒转原则是高层和底层模块都依赖抽象;还提及了迪米特法则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、单一职责原则

定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 
问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。

解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。

遵循单一职责原的优点有:

  • 可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;
  • 提高类的可读性,提高系统的可维护性;
  • 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

二、里氏替换原则

定义:原则上来讲,子类对象可以赋给父类对象,也可以说子类替换父类,并且出现在父类能够出现的任何地方。反过来说,父类对象是不能替换子类对象的,这种特性称为里氏替换原则

参考文章:https://blog.youkuaiyun.com/yisuowushinian/article/details/18976629

三、开放-封闭原则

定义:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。

特征:对于扩展是开放的,对于更改是封闭的

也就是说:面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

       当变化发生时,我们通过创建抽象来隔离以后发生的同类变化,比如之前我们介绍的简单工厂模式中的实现两个数的运算的示例,示例就是通过抽象运算方法来对变化(增加乘除运算方法)进行扩展---开放性,而不是更改现有的代码(现有的加减运算方法)---封闭性。

参考文章:https://blog.youkuaiyun.com/yabay2208/article/details/73927991

四、依赖倒转原则

定义:高层模块不应该依赖底层模块,两个都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。

参考文章:

https://blog.youkuaiyun.com/fightfaith/article/details/49556053

http://www.10tiao.com/html/396/201809/2650825669/1.html

五、迪米特法则

 

 

参考文章:http://www.uml.org.cn/sjms/201211023.asp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值