
全部展开

从uml图看,策略模式和工厂模式基本一致. 只是封装有所不同. 通过比较工厂模型和策略模型来解释策略模型.

工厂模型可以理解为: 假设奥迪公司生产汽车,它具有生产汽车的核心技术. 另一方面,它生产的汽车具有不同的型号和位于不同的生产线上. 组装. 当客户通过销售部门进行预订时,奥迪将在指定的生产线上为客户生产所需的汽车.

策略(Strategy)模式在结构上与工厂模式相似,唯一的不同是,用于实例化产品的工厂模式在服务器端完成e69da5e6ba90e799bee5baa6e997aEE7ad9431333431353963 logo,服务器根据标识符实例化一个对象. 策略模式的客户端将实例与服务器通信. 服务器仅采用实例在服务器环境中执行该方法. 这就像一个对汽车不太了解的人去买车. 在那个计划中,他说了些什么,然后销售部门根据他的“计划”形成了一个订单. 方式. 在策略模式下,客户是专家,他亲自提供了订单的详细信息. 销售部门刚把手转交给生产部门. 通过比较两者,不难发现工厂模型必须提供灵活的销售部门. 如果用户有新需求,销售部门必须立即意识到它可以做出适当的订单. 因此,如果有新车问世,则生产部门和销售部门都需要更新,而客户也需要更新新车的描述,因此需要更改三个地方. 战略模型中的销售部门是相对固定的,它仅负责接受订单和执行特定操作. 新车问世时,只需更新生产部门和服务器客户端的代码,而无需更新销售部门的代码.

技术支持: 简单工厂和策略的基础是由于面向对象的封装和多态性. 他们实现的想法是工厂模式类图,首先建立一个抽象模型,并从该模型中导出满足不同客户需求的各种方法,然后将其封装.
工厂模式和策略模式之间的区别在于,实例化对象的位置不同. 对于工厂模式,实例化的对象位于服务器端,即位于工厂类中;
但是,在策略模式下实例化对象的操作在客户端上工厂模式类图,服务器上的“销售部门”仅负责交付对象并在服务器环境中执行特定操作. .
工厂模型要求服务端的销售部门足够敏感,而策略模型封装了该策略,因此他的销售部门很愚蠢,要求客户提供足够的参数来区分使用哪种策略,这就是最好的. 这种策略的例子.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-186161-1.html
有多少项多少项成果