共享资源管理设计中的好友依赖移除和重构
在面向对象设计中,“好友”依赖引入了紧耦合类之间并引起维护问题。要在保持共享资源管理设计功能的同时消除此类依赖关系,建议采用多步骤重构过程。
第 1 步:引入抽象接口
第一步涉及用抽象接口 InternalInterface 替换“friend”依赖项,它定义了以前只能由友好类访问的操作。
第 2 步:将操作移至接口
构成“调用”依赖的操作从 ClassA 实现转移到 InternalInterface 定义。
第 3 步:连接接口和实现
到提供对InternalInterface的访问,在ClassA和InterfaceInterface之间引入受保护的构造函数和受保护的泛化关系。
第4步:粘合组件
在ClassAAccessor构造函数中,引入一个setInternalInterfaceRef()方法,允许ClassAAccessor从ClassA获取InternalInterface的引用。
第五步:使用Internal Interface进行访问
在ClassA中实现attachAccessor()方法将内部接口引用传递给 ClassAAccessor。
第 6 步:优化耦合(可选)
为了进一步解耦,引入第二个接口 InternalClientInterface 在 ClassAAccessor 之间进行调解
优点:
缺点:
以上是重构如何消除共享资源管理中的好友依赖?的详细内容。更多信息请关注PHP中文网其他相关文章!