单一职责(SRP):
There should never be more than one reason for a class to change.
我的理解是一个接口或者类只有一个职责,在需求变化时,需要修改这个借口或类的时候,引起的原因也只能只有一个。
不能仅仅是觉得该接口或者类确实是只在负责一个职责,而忽略掉在修改这个类的时候会因为多个需求变化进行多次修改。
例如电话功能设计:包含了拨号、通话、回应和挂机的功能。其中包含了两个职责:协议管理(拨号和挂机)、数据传输(通话)。我们在更改其中任意一个职责的时候,都会引起该接口的变化。而这俩个职责彼此之间又互不影响,所以可以拆分成两个接口。(面向接口设计)
虽然我们在设计接口的时候是考虑了单一原则,但其实现类还是实现了多个接口,违背了单一原则,其实这是避免不了的。所以在使用该原则的时候尽量做到接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
单一职责(SRP)
最新推荐文章于 2023-05-28 02:20:32 发布