Open banli17 opened 2 years ago
SOLID 是指:
一个类或模块(可能由多个类组成)只负责一个功能,不要设计大而全的类,要设计粒度小、功能单一的类。
不同的应用场景、不同阶段的需求背景,不同的业务层面,对同一个类的职责是否单一,可能有不同的判定结果。侧面判定是:
单一职责原则通过避免设计大而全的类,避免将不相关的功能耦合在一起,来提高类的内聚性。同时,类职责单一,类依赖的和被依赖的其他类也会变少,减少了代码的耦合性,以此来实现代码的高内聚、低耦合。但是,如果拆分得过细,实际上会适得其反,反倒会降低内聚性,也会影响代码的可维护性。
我们可以先写一个粗粒度的类,满足业务需求。随着业务的发展,如果粗粒度的类越来越庞大,代码越来越多,这个时候,我们就可以将这个粗粒度的类,拆分成几个更细粒度的类。这就是所谓的持续重构
SOLID 是指:
单一职责原则
一个类或模块(可能由多个类组成)只负责一个功能,不要设计大而全的类,要设计粒度小、功能单一的类。
不同的应用场景、不同阶段的需求背景,不同的业务层面,对同一个类的职责是否单一,可能有不同的判定结果。侧面判定是:
单一职责原则通过避免设计大而全的类,避免将不相关的功能耦合在一起,来提高类的内聚性。同时,类职责单一,类依赖的和被依赖的其他类也会变少,减少了代码的耦合性,以此来实现代码的高内聚、低耦合。但是,如果拆分得过细,实际上会适得其反,反倒会降低内聚性,也会影响代码的可维护性。
我们可以先写一个粗粒度的类,满足业务需求。随着业务的发展,如果粗粒度的类越来越庞大,代码越来越多,这个时候,我们就可以将这个粗粒度的类,拆分成几个更细粒度的类。这就是所谓的持续重构