写点什么

有关架构设计原则的总结

用户头像
跳蚤
关注
发布于: 2021 年 01 月 10 日

通过本章节的学习,了解架构设计必须知道哪些原则,熟悉使用这些原则。

  1. 单一职责原则(Single Responsibility Principle - SRP)

对于一个类而言,应该仅有一个引起它变化的原因。说白了就是,不同的类具备不同的职责,各施其责。这就好比一个团队,大家分工协作,互不影响,各做各的事情。

当我们做系统设计时,如果发现有一个类拥有了两种的职责,那就问自己一个问题:可以将这个类分成两个类吗?如果真的有必要,那就分吧。千万不要让一个类干的事情太多!

  1. 开放封闭原则(Open Closed Principle - OCP)

类、模块与函数,对于扩展应该是开放的,但对于修改应该是封闭的。

当需求有改动,要修改代码了,此时您要做的是,尽量用继承或组合的方式来扩展类的功能,而不是直接修改类的代码。当然,如果能够确保对整体架构不会产生任何影响,那么也没必要搞得那么复杂了,直接改这个类吧。

  1. 里氏替换原则(Liskov Substitution Principle - LSP)

父类能够替换子类,但子类不一定能替换父类。也就是说,在代码中可以将父类全部替换为子类,程序不会报错,也不会在运行时出现任何异常,但反过来却不一定成立。在继承类时,不有仅被静态分析,而应该拿到应用场景分析才知道是否使用继承。

  1. 接口隔离原则(Interface Segregation Principle - ISP)

不要对外暴露没有实际意义的接口。也就是说,接口是给别人调用的,那就不要去为难别人了,尽可能保证接口的实用性吧。她好,我也好。

  1. 依赖倒置原则(Dependence Inversion Principle - DIP)

高层模块不应该依赖于低层模块,它们应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

应该面向接口编程,不应该面向实现类编程。面向实现类编程,相当于就是论事,那是正向依赖(正常人思维);面向接口编程,相当于通过事物表象来看本质,那是反向依赖,即依赖倒置(程序员思维)。

以前开发时只知道这么用,从来没有这么系统地了解过。


用户头像

跳蚤

关注

技术成就了我,我相信技术能让我飞 2020.08.06 加入

本人从事软件开发20年,系统架构7年,担任部门经理、架构部经理、技术经理

评论

发布
暂无评论
有关架构设计原则的总结