遵守好的系统设计原则,可以帮助我们设计更好的系统,下面给大家分享常见的9大系统设计原则@mikechen
1.高内聚低耦合原则
高内聚、低耦合原则是系统设计中十分重要的两个原则。
高内聚是指将功能相似或者相关的模块或者方法放在一起,使得模块之间的耦合度尽可能地低。
高内聚的好处在于,可以减少模块之间的依赖,使得模块之间的关系更加清晰明了,同时也方便模块的复用和测试。
低耦合是指模块之间的相互依赖程度尽可能的低,也就是说,模块之间的接口要尽量简单明了,不包含任何无关的信息。
低耦合的好处在于,可以减少模块之间的相互影响,使得系统更加灵活和可扩展。
2.单一职责原则
单一职责原则,全程是Single Responsibility Principle,简称SRP,是系统设计中的一个重要原则。
它指的是一个类或者模块应该只有一个职责,也就是说,一个类或者模块只应该有一个引起它变化的原因。
SRP的本质是将系统中的每个类或者模块的职责限制在一个单一的范畴内,避免类或者模块承担过多的职责,导致职责交叉和耦合度增加,从而影响系统的扩展和维护。
3.开闭原则
开闭原则,全程是Open-Closed Principle,简称OCP,是系统设计中的一个基本原则。
开闭原则指的是一个模块或类应该对扩展开放,对修改关闭,也就是说应该通过扩展来实现新的功能,而不是修改已有的代码。
4.里氏替换原则
里氏替换原则,全程是Liskov Substitution Principle,简称LSP,是系统设计中的一个基本原则。
里氏替换原则是对面向对象编程中继承关系的一个规范,它的定义是:“子类对象应该能够替换其基类对象,而程序的逻辑不受影响”。
通过遵循接口隔离原则,可以提高软件系统的灵活性、可扩展性和可维护性,避免出现不必要的依赖关系和冗余代码。
同时,也能够使接口设计更加清晰、简洁和易于理解,提高系统的可读性和可理解性。
5.接口隔离原则
接口隔离原则,全程是Interface Segregation Principle,简称ISP,是系统设计中的一个基本原则。
接口隔离原则指的是:客户端不应该依赖它不需要的接口,而应该只依赖于它需要的接口,这样可以提高代码的可维护性和可扩展性。
6.依赖倒置原则
依赖倒置原则(Dependency Inversion Principle,DIP)是系统设计中的一个基本原则,它指的是“高层模块不应该依赖于低层模块,二者都应该依赖于抽象”,同时“抽象不应该依赖于具体实现,具体实现应该依赖于抽象”。
简单来说,依赖倒置原则指的是,我们应该依赖于抽象,而不是具体实现,从而降低模块之间的耦合度。
7.迪米特原则
迪米特原则(Law of Demeter,LoD),也称为最少知识原则(Principle of Least Knowledge,PLK),是系统设计中的一个基本原则。
它指的是“一个对象应该对其他对象有尽可能少的了解”,也就是说,对象与对象之间应该保持松散耦合,尽可能地减少它们之间的依赖关系。
也就是说,一个对象应该尽可能地减少对其他对象的直接引用,这样可以提高代码的可维护性和可扩展性。
8.重用原则
重用原则(Reuse Principle)是系统设计中的一个基本原则,它指的是“尽量使用已有的组件、类、函数等已有的软件实体,而不是重新开发新的实体”。
在设计和开发系统时应该尽可能地重用已有的代码和组件,这样可以提高代码的可维护性和可扩展性。
9.简单原则
在设计和开发系统时应该尽可能地保持简单和直观,不要过度设计和实现,这样可以提高代码的可读性和可维护性。
以上就是9大常用系统设计原则详解,更多设计内容请查看:分布式架构设计从0到1全部合集,强烈建议收藏!
陈睿mikechen
十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》