gpt4 book ai didi

java - OOP:在这种情况下,正确的类设计应该是什么?

转载 作者:行者123 更新时间:2023-12-01 17:34:29 27 4
gpt4 key购买 nike

我有一个来自 GUI 的对象 guiObject。根据其数据字段,我需要实例化适当类的 domainObject 。它可以是 DomainClassADomainClassB

DomainClassA 有一个整数构造函数参数 intParamA(来自 guiObject.fieldA)。

DomainClassB 有一个整数构造函数参数 intParamB(来自 guiObject.fieldB)。

为了解决这个问题,我制作了 AbstractFactory,它从 guiObject 获取所需字段,实例化 DomainClassAFactoryDomainClassBFactory使用 GuiClass 中的正确字段并重新调整它。反过来,这些工厂 create() 中的任何一个都会正确实例化 domainObject

但是现在,根据 guiObject.fieldC,我需要在实例化 之前更改 intParamAintParamB (即减少 1)域对象。为了实现这一目标,我必须为每个 DomainClass 的每种不同类型的“参数更改”创建单独的工厂,然后创建单独的抽象工厂来生成正确的工厂。听起来很丑,看起来也很丑。

正确的设计应该是什么?

最佳答案

除非您需要所有这些层,否则请拥有一个询问guiObject并返回正确类型的工厂。

过度分析会导致产生太多大多数应用根本不需要的东西。仅当绝对必要时才添加额外的抽象层。他们通常不是。

关于java - OOP:在这种情况下,正确的类设计应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com