【问题标题】:Instantiation of a composite object with lots of validation rules具有大量验证规则的复合对象的实例化
【发布时间】:2014-06-06 09:48:33
【问题描述】:

我有一个我想创建的对象。该对象由我不希望客户端类负责创建的其他对象组成。在创建对象之前必须通过许多验证规则。

所以我想将这个复杂对象的创建抽象到一个 "factory" 类中。我真的有两个问题,第一个纯粹是关于语义的:-

  1. 我应该怎样称呼创建我的对象的类? factory method 模式和abstract factory 模式都与抽象不同类型的具体类的创建有关。但是,我正在创建一个单一类型的对象,所以使用术语 factory 可能会造成混淆?
  2. 这是一个合适的解决方案吗?有没有这样做的模式/示例?

提前感谢任何帮助/指导。

【问题讨论】:

    标签: oop object design-patterns factory


    【解决方案1】:
    1. 您可以使用术语工厂,因为我们都在最广泛的意义上使用它,除非我们使用更独特的名称,例如工厂方法设计模式或抽象工厂设计模式。

    2. 如果您有一个对象构建过程,如果在创建不同类型的对象时应该使用相同的主步骤,则通常使用构建器模式。但在你的情况下,你只有一种类型。所以不需要更好的解决方案,因为没有特殊的问题需要解决。只需以最简单的形式进行验证即可。

    【讨论】:

    • Builder模式也适用于有多个步骤来生成单个对象(根据oodesign.com/builder-pattern.html),所以我想我会选择builder。这样,如果我最终拆分复杂对象的类型,我可以使用相同的接口。非常感谢您向我指出构建器模式!
    猜你喜欢
    • 2011-04-30
    • 2021-05-18
    • 1970-01-01
    • 2013-11-26
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多