设计模式原则总结 -- 系统架构 -- IT技术博客大学习 -- 共学习 共进步!
source link: https://blogread.cn/it/article/5959?f=hot1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
设计模式原则总结
0、单一职责原则(SRP) | 就一个类而言,应该仅有一个引起它变化的原因。 |
一、”开放-封闭”原则(OCP) | 在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计原则。即软件实体(类、模板、函数等等)应该可以扩展,但是不可修改。 【通俗】:设计的时候,时刻考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。 |
二、里氏代换原则(LSP) | 1.一个软件实体如果使用的是一个父类的话,那么一定适用于该子类,而且他觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。 【一句话】:子类型必须能够替换掉他们的父类型。 |
三、依赖倒置原则(DIP) | 1.高层模块不应该依赖于底层模块。两个都应该依赖抽象。2.抽象不应该依赖于细节,细节依赖于抽象( 【白话】:针对接口编程,不要针对实现编程。 |
四、接口隔离原则(ISP) | 1.使用多个专门的接口比使用单一的总接口总要好。换而言之,从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的。 2.过于臃肿的接口是对接口的污染。不应该强迫客户依赖于它们不用的方法。 |
五、合成/聚合复用原则(CARP) | 尽量使用合成/聚合,尽量不要使用类继承。 【聚合】:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 【合成】:一种强的拥有关系,提现了严格的部分和整体的关系,部分和整体的生存周期一致。 |
六、迪米特法则(LoD) 最少知识原则 | 强调类之间的松耦合。即:如果两个类不必彼此直接通信,那么着两个类就不应当发送直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 |
大部分内容摘自《大话设计模式》
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
Recommend
-
7
微服务架构设计中的设计模式、原则及最佳实践-InfoQ
-
3
我做系统架构的一些原则 我做系统架构的一些原则 工作 20 多年了,这 20 来年看到了很多公司的很多的系统架构,也看到了很多问题,在跟这些公司进行交流和讨论的时候,包括进行实施和方案比较的时候,因为相关的经历越来越多,所以,逐渐形...
-
7
Apache 架构师总结的 30 条架构原则 – Android开发中文站 Android开发中文站 ...
-
2
系统架构师学习 原创 xueyise 2022-07-29 09:13:54...
-
5
秒杀系统时应该注意的5个架构原则 精选 原创 CRMEB众邦科技 2022-10-21 16:32:35
-
7
三年来一直从事服务器程序开发,一直都是忙忙碌碌,不久前结束了职业生涯的第一份工作,有了一个礼拜的休息时间,终于可以写写总结了。于是把以前的开源代码做了整理和优化,这就是FFLIB。虽然这边总结看起来像日记,有很多废话,但是此文仍然是有很大针对...
-
7
技术方案评审 浏览:2182次 出处信息 新年开始,大部分公司都在启动大量新功能的规划及设计、...
-
4
近期在项目中用到了无锁队列 (lock free queue)这个东西,在项目中后台需要收集数据,待收集完整后需要落地,如果收集和落地都由一个进程来做,效果不好。无锁队列是蛮实用的一种数据结构。譬如,当一些后台的任务,写数据库,文件等,会出现较长时间的阻塞,可...
-
5
hi,我是熵减,见字如面。 在软件开发中,设计一个好的架构是非常重要的,好架构能够影响整个系统的质量和可维护性。 而要设计出好架构,就需要遵循一些设计原则。 其中,架构设计的4C原则是一种常用的架构设计基础原则,4C原则强调架...
-
6
《Head First 设计模式》 - 设计原则总结发表于 2023-05-23 字数总计:188|阅读时长:1 分钟 | 阅读量:4 将变化的部分封装起来(Encapsulate what varies)
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK