1

作为我正在研究的真实事物的代理,请考虑建立一个模型。我们有一个Parts代表模型零件的类,包括根据给定参数制造零件的方法、验证等。我们有一个Glue做同样事情的类和一个ModelBuilder类。

我可以用很好的封装制造我的胶水和零件。然后我将 myPartsInstanceGlueInstancemyModelBuilder作为参数传递给 my。这就是一切都崩溃的地方。我可以告诉我的模型构建器进行构建,但要这样做,它需要访问Parts(可能还有Glue)中的数据。例如,我可能需要知道角落或中心在哪里PartsInstance.Part[0]才能正确构建。

我在这里陷入困境,因为似乎告诉,不问阵营会说该部分应该以某种方式自行构建。但这对我来说没有意义。零件是零件,而不是整个模型。这就是应该建立自己的东西。ModelBuilder可能非常复杂,并且可能会Parts在其他地方使用。另一方面,我正在询问PartsInstance对象的状态,然后根据该状态做出决定。Parts此外,无论如何,该决定可能并不完全适合该概念。它可能涉及Glue我选择的类型。

我怎样才能构造或修改这个例子,使它不违反封装?

4

0 回答 0