什么是用例(1),(2),(3)。什么是专业& amp;利弊使用它。他们之间有什么区别?
答案 0 :(得分:30)
此模式与工厂模式非常相似,客户端还要求工厂从类层次结构中获取特定类型的对象,但工厂类的Create方法将特定对象的创建委托给派生classes 并返回客户端询问的类的对象。实质上,您可以通过单点联系来创建类层次结构的多个对象。
您可以将此视为前往机票柜台(控制器)并通过提供您对机票类型(头等舱,行政人员或经济舱)的偏好来要求机票。用户不关心如何生成故障单,即使在对象表示中,第一类和经济故障单都是从基本故障单类派生的。
何时使用
此模式与Factory方法模式非常相似。但与工厂方法模式不同,此模式稍微简单一些。 Factory的Create方法不是将创建委托给子类,而是创建所需类型的实例并返回它。
在构建器模式中,创建对象的复杂任务封装在类或方法中。例如,考虑在快餐柜台订餐的情况。这顿饭通常包括汉堡,薯条和饮料。餐中的每个项目都有自己的创作过程。而不是客户必须处理每个项目的创建过程,这个任务由计数器处理,其中一个人订餐。下订单时,作为柜台的人负责创建由三个项目组成的膳食,并将这些项目作为单个实例返回给客户。
另一位顾客可能会要求提供大型薯条和减肥食品。同样,订单柜台的人员负责建立与第一个订单不同的订单。从客户的角度来看,总是放置订单和柜台,然后返回餐点。
何时使用
更多信息