第四章: 耦合无处不在耦合 :在软件工程中是指模块或组件之间的依赖关系和关联程度。耦合越高,模块之间的依赖性越强,维护和扩展系统的难度也越大。
好耦合是指在模块或组件之间的依赖关系是必要且符合业务需求的。这种耦合通常反映了底层系统的限制和设计选择,是系统设计的自然结果。例如,数据库模块和数据访问模块之间的耦合是必要的,因为数据访问模块需要直接操作数据库。特点:
依赖关系是清晰的和必要的。
依赖关系符合业务需求和系统设计。
不会对系统的维护和扩展造成不必要的困难。
坏耦合坏耦合是指不必要的、过度的或不合理的依赖关系。这种耦合通常是由于设计不良或代码不规范引起的,会导致系统难以维护和扩展。特点:
依赖关系是不必要的或过度的。
依赖关系不符合业务需求或系统设计。
增加了系统维护和扩展的难度。
解耦的手段当系统存在坏耦合时,需要使用解耦的手段来降低模块或组件之间的依赖性。以下是一些常见的解耦手段: 1.接口和抽象类:通过定义接口或抽象类,来隔离具体实现。调用者依赖于接口或抽象类,而不是具体的实现类。 2.依赖注入:使用依赖注入框架(如 Spring)将依赖注入到对象中,而不是由对象自己创建依赖。
好耦合是指在模块或组件之间的依赖关系是必要且符合业务需求的。这种耦合通常反映了底层系统的限制和设计选择,是系统设计的自然结果。例如,数据库模块和数据访问模块之间的耦合是必要的,因为数据访问模块需要直接操作数据库。特点:
依赖关系是清晰的和必要的。
依赖关系符合业务需求和系统设计。
不会对系统的维护和扩展造成不必要的困难。
坏耦合坏耦合是指不必要的、过度的或不合理的依赖关系。这种耦合通常是由于设计不良或代码不规范引起的,会导致系统难以维护和扩展。特点:
依赖关系是不必要的或过度的。
依赖关系不符合业务需求或系统设计。
增加了系统维护和扩展的难度。
解耦的手段当系统存在坏耦合时,需要使用解耦的手段来降低模块或组件之间的依赖性。以下是一些常见的解耦手段: 1.接口和抽象类:通过定义接口或抽象类,来隔离具体实现。调用者依赖于接口或抽象类,而不是具体的实现类。 2.依赖注入:使用依赖注入框架(如 Spring)将依赖注入到对象中,而不是由对象自己创建依赖。