软件设计原则

架构设计六大原则:

单一职责、开放封闭、里氏替换、最少知识、接口隔离、依赖倒置

将以上六大原则的英文首字母拼在一起就是SOLID(稳定的),所以也称为SOLID原则。

 

一、单一职责原则

永远不应该有多于一个原因来改变某个类。

理解:对于一个类而言,应该仅有一个引起它变化的原因。

 

 

二、开放封闭原则

软件实体扩展应该是开发的,但对于修改应该是封闭的。

理解:对扩展开放,对修改封闭。可以去扩展类,但不要去修改类。

 

 

三、里氏替换原则

理解:父类一定能够被子类替换。

 

四、最少知识原则

只与你最直接的对象交流。

理解:高内聚,低耦合。做系统设计时,尽量减少依赖关系。

 

 

五、接口隔离原则

一个类与另一个类之间的依赖性,应该依赖于尽可能小的接口。

理解:不要对外暴露没有实际意义的接口。用户不应该依赖它不需要的接口。

 

六、依赖倒置原则

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

理解:应该面向接口编程,不应该面向实现类编程。

 

其他原则:

组合/聚合复用原则:当要扩展类的功能时,优先考虑使用组合,而不是继承。

无环依赖原则:A依赖B,B依赖C,C依赖A,此时出现循环依赖,设计中避免该问题,可以通过引入“中介者模式”解决。

共同封装原则:应该将易变的类放在同一个包里,将变化隔离出来。该原则时“开放封闭原则”的衍生。

共用重用原则:如果重用了包中的一个类,那么也就相当于重用了包中的所有类,我们要尽可能减小包的大小。

好莱坞原则:控制反转、依赖注入。不需要主动创建对象,而是由容器帮我们来创建并管理这些对象。

保持它的简单与傻瓜:保持系统界面简洁,功能实用,操作方便。

关注点分离:将一个复杂的问题分离为多个简单的问题,然后逐个解决。

你不需要它:不要一开始就把系统设计得非常复杂,不要陷入过度设计的深渊,让系统足够简单,而又不失扩展性。

 

 

项目设计:

1、如何设计数据结构?

用数据描述所有的内容

数据要结构化,易于程序操作(遍历、查找)

数据要可扩展,以便增加新的功能

 

2、如何设计组件?

从功能上拆分层次

尽量让组件原子化

容器组件(只管理数据)和 UI组件(只管显示视图)

 

posted @ 2021-11-13 19:10  火星_PGY  阅读(142)  评论(0编辑  收藏  举报