【发布时间】:2021-10-14 21:20:35
【问题描述】:
我目前正在为用于 2 种预订类型的预订系统设计域。
这两种类型都有共同的属性,例如它们的日期和位置。但是,两者都具有对方没有的属性。这里的例子是您可以带客人一起来的一种类型,而不是另一种;或者您可以要求一种类型的午餐,而不是另一种类型的午餐。
目前我有一个抽象的 Reservation 类,每种保留类型都有一个具体的实现。然后我有一个 ReservationBuilder,它在其构造函数中将枚举(保留类型)作为参数。然后,此构建器将包含两种保留类型的方法,并且为无法使用信息的保留类型使用方法将在构建时不执行任何操作,或引发错误。
不过,有些事情告诉我,这不是对这种模式的良好使用。将构建器也抽象出来会更好吗?还是工厂模式更适合我的用例?
【问题讨论】:
标签: oop design-patterns