Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 类的成对层次结构_Design Patterns - Fatal编程技术网

Design patterns 类的成对层次结构

Design patterns 类的成对层次结构,design-patterns,Design Patterns,是否有一种设计模式,其结构是这样的。B拥有对a的引用,并且还使用a做一些工作。此外,层次结构B中的每个子类都依赖于层次结构a中的子类来完成其工作。 它的代码看起来像 这是一种并行继承层次结构,通常被视为反模式 这是一种并行继承层次结构,通常被视为一种反模式 关于它的一些讨论可能值得一读。我理解为什么这不好,因为维护两者可能是一场维护噩梦,但什么是好的替代方案?也许这超出了OP的问题范围,但仅仅确定问题就好像完成了一半,另一半是解决方案:)在Ward的Wiki上有一些关于重构解决方案的模糊提示(来

是否有一种设计模式,其结构是这样的。B拥有对a的引用,并且还使用a做一些工作。此外,层次结构B中的每个子类都依赖于层次结构a中的子类来完成其工作。 它的代码看起来像


这是一种并行继承层次结构,通常被视为反模式


这是一种并行继承层次结构,通常被视为一种反模式


关于它的一些讨论可能值得一读。

我理解为什么这不好,因为维护两者可能是一场维护噩梦,但什么是好的替代方案?也许这超出了OP的问题范围,但仅仅确定问题就好像完成了一半,另一半是解决方案:)在Ward的Wiki上有一些关于重构解决方案的模糊提示(来自Ward本人,IIRC)。我可能会进行更多的调查并尝试更新。我理解为什么这样做不好,因为维护两者可能是一场维护噩梦,但什么是好的替代方案?也许这超出了OP的问题范围,但仅仅确定问题就好像完成了一半,另一半是解决方案:)在Ward的Wiki上有一些关于重构解决方案的模糊提示(来自Ward本人,IIRC)。我可能会进一步调查并尝试更新。