新功能开发原则

4 Sep 2022

一、软件退化的根源

软件退化的根源不是版本迭代和需求变更,
版本迭代和需求变更只是一个诱因。
如果每次软件变更时,适时地进行解耦,进行功能扩展,
再实现新的功能,就能保持高质量的软件设计。
但如果在每次软件变更时没有调整程序结构,
而是在原有的程序结构上不断地塞代码,软件就会退化。
这就是软件发展的规律,软件退化的根源。

二、开闭原则(OCP)

开闭原则(OCP) 分为开放原则与封闭原则两部分。

1.开放原则

我们开发的软件系统,对于功能扩展是开放的(Open for Extension),
即当系统需求发生变更时,可以对软件功能进行扩展,使其满足用户新的需求。

2.封闭原则

对软件代码的修改应当是封闭的(Close for Modification),
即在修改软件的同时,不要影响到系统原有的功能,
所以应当在不修改原有代码的基础上实现新的功能。
也就是说,在增加新功能的时候,新代码与老代码应当隔离,
不能在同一个类、同一个方法中。

三、领域驱动设计

真实世界有什么事物,软件世界就有什么对象; 真实世界中这些事物都有哪些行为,软件世界中这些对象就有哪些方法; 真实世界中这些事物间都有哪些关系,软件世界中这些对象间就有什么关联。

四、单一职责原则

软件系统中的每个元素只完成自己职责范围内的事,而将其他的事交给别人去做,我只是去调用。

五、策略模式

https://www.runoob.com/design-pattern/strategy-pattern.html

六、适配器模式

https://www.runoob.com/design-pattern/adapter-pattern.html


参考教程:

万字长文,结合电商支付业务一文搞懂DDD