设计模式中的六大基本原则

软件设计中的基本共识:

1,高内聚,低耦合:如果想使软件系统架构稳定,那么我们期望软件的各模块内元素结合的紧密,而模块之间的耦合度(关联性)越低越好。高内聚不仅体现在模块上,单独的类或方法也应该是内聚的。

2,面向抽象编程:面向过程开发中,上层组件调用下层组件,这意味着当下层发生剧烈变化时候,上层组件也得跟着一起变化,增加了维护成本。面向对象的设计中,我们努力使程序依赖抽象,而不去依赖具体实现,首先依赖抽象降低了模块间实现细节的耦合度,其次抽象变化的概率比较小,修改具体实现不影响其他模块,降低了风险成本,提升了软件结构的健壮性。

3,多用组合少用继承:组合和继承都是对已有属性和功能的复用,继承偏向于扩展,组合偏向于使用。组合的好处在于其方式更加灵活,不会对类造成危害,不会造成膨胀,同时减少了对父类的依赖。少用继承而不是不用继承,使用继承结构的代码可读性更高,一般认为继承结构不应该超过四层,而且应该谨慎的使用修饰符。

4,开闭原则:软件设计中主张“对扩展发放,对修改关闭”,该原则倡导我们对软件实体进行扩展时,尽量不要去修改原有的软件实体进行修改。

对以上共识具体化和规范化就有了设计模式的六大原则:

1,开闭原则:一个软件实体应该对扩展开放,对修改关闭。

2,单一职责原则:一个类应该应该只有一个引起他变化的原因。

3,依赖倒置原则:要依赖要抽象,而不是依赖具体实现。

4,接口隔离原则:使用多个隔离的接口,分离不同的接口行为,也就是说一个类对另外类的依赖性应该建立在最小接口上。

5,里氏替换原则:继承必须保证基类所拥有的性质在子类中仍然成立,即子类应当替换任何基类能够出现的地方。

6,迪米特法则:只和密友交谈。即一个软件实体应该尽可能少的于其他实体发生相互作用。

 

posted @   野生野鸡码农  阅读(192)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示