【设计模式】-原则总结(一)

本文介绍了C#设计模式中的七大基本原则,包括单一职责原则、开放闭合原则、依赖倒置原则、里氏替换原则、迪米特法则、接口隔离原则及合成聚合复用原则,并探讨了如何在实际开发过程中运用这些原则。

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

前言

    C#以及设计模式,学习了有一段时间了,也可以说拖了有一段时间了,一直没有好好总结一下,该开始慢慢的写写这一块的总结了。今天采访丁成云师姐的时候,师姐也提到了总结的重要性,总结是为了让我们更好的理解,理解是为了更好的应用,而且现在总结对于我们来说是一种奢侈的事儿,工作以后想写写总结都没有时间也没有耐心。

    米老师常说的一句话“变是永远不变的”,也由此可见很多事是我们无法掌握的,设计模式也是如此,有太多的模式,我们无法将每一种都掌握,但是几乎每一个模式都是以原则为根本,而且原则是不变的东西。

    所以可以这样说,只要掌握了这些原则,各种模式也就离我们不再遥远了。


具体设计原则

1、单一职责原则SRP:即设计类时,类的功能越少越好.

定义:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。
单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作,因此要将这些职责进行分离,将不同的职责封装在不同的类中,即将不同的变化原因封装在不同的类中,如果多个职责总是同时发生改变则可将它们封装在同一类中。


2、开放闭合原则OCP :即对外扩展开放,对内修改封闭

定义:软件实体应当对扩展开放,对修改关闭。这句话说得有点专业,更通俗一点讲,也就是:软件系统中包含的各种组件,例如模块(Modules)、类(Classes)以及功能(Functions)等等,应该在不修改现有代码的基础上,去扩展新功能。开闭原则中原有“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;开闭原则中“闭”,是指对于代码的修改是封闭的,即不应该修改原有的代码。


3、依赖倒置原则DIP:即高端类尽量依赖于接口,而不依赖于低端类.

定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。中心思想是面向接口编程
为什么叫依赖倒转呢,传统的软件结构化分析和设计都是高层依赖低层的,比如说模块调用子模块,渐细式的模块划分和由高往低的调用等。因此,相对于传统的依赖模式,把这种高层依赖抽象,低层依赖抽象的模式叫依赖倒转。


4、里氏替换原则LSP:即子类代替父类.


5、迪米特法则LOD:即类和类之间的关联关系越少越好.


6、接口隔离原则ISP:即一个类对另外一个类的依赖性应当是建立在最小的接口上的.


7、合成聚合复用原则CARP:即能使用组合方式编码,不采用继承.


总结

这些都是设计模式中用到的原则,如果想要更好的掌握的这些原则,最好的方法就是去各种模式中体会。很无奈,设计模式看了一多半了,这些原则还是无法更深层次的理解,看来道行还浅的很,还得继续修炼。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子松的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值