代码整洁之道笔记(三)-设计原则

第七章 SRP:单一职责原则

任何一个软件模块都应该只对某一类行为者负责。软件模块指的是一组紧密相关的函数和数据结构。

问题:一个类的三个函数分别对应的是三类不同的行为者,违反了SRP设计原则。

 实际上等于使三类行为者的行为耦合在了一起,这可能会导致CFO团队的命令影响到COO团队所依赖的功能。比如为了避免重复编码,而存在算法共享的情况,一个团队修改了算法,会对另一个团队产生影响。

因此SRP强调服务不同行为者的代码一定要被分开。

 解决方案:

1.数据与函数分离

设计三个类共同使用一个不包括函数的、简单的数据类。每个类只包含与之相关的函数代码,互相不可见,这样就不存在互相依赖的情况了。缺点:需要在程序里处理三个类。

2.使用Facade设计模式

  

 

猜你喜欢

转载自www.cnblogs.com/windpoplar/p/12547218.html