浅谈“开闭原则”

《架构整洁之道》第8章读书札记

一个设计良好的计算机系统应该在不需要修改的前提下就可以轻易被扩展。

这个道理一说出来,想必身为被需求经常改变而备受折磨的程序员会深深认同。但不需要被修改!这是这么办到的?

下面来说下我领悟到的步骤:

1.分层设计

作为有一定经验的程序必须要有能力去将程序设计进行分层。分层设计,虽然在运行程序的速度上可能会带来一定的损失。但是想想MVC的思想如此重要就知道分层设计带来的好处。而分层设计又是以单一职责(SRP)为基础,必须根据这一原则去进行分层。不然你设计的分层也不是真正的分层。

其实我们在写程序中就能体现到单一职责(SRP),我们往往会把功能为一类的归结到一个地方(类),慢慢地形成组件,而功能关联的组件组合到一起也就慢慢形成一个层次。作为初级程序员,眼里只会看到一大堆需求而已,不会划分职责。所以他们的代码往往会职责不清,可怕的是修改一个地方,涉及到整个系统。

2.减少依赖

如果一个层级在设计上没有依赖,那么触动它改变的只有它自身了。这时候我会想起一句话:高内聚,低耦合!

3.给层级分等级

高层设计不应该依赖于低层设计。这是因为:

高阶组件不会因低阶组件被修改而受到影响。

你可能感兴趣的:(浅谈“开闭原则”)