首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP设计模式——抽象方法

提供一个用于创建相关或依赖对象的接口,而无需指定其具体类。

Dragon公司的业务受到轰炸,而CEO希望特许所有海外分支机构的专营权。他首先要注意的问题是如何确保产品质量。他们不希望特许经营者削减成本和使用低质量的组件。低质量的玩具肯定会破坏Dragon品牌的声誉。因此,CEO希望将业务特许经营,但他们仍然希望每个地方都有工厂来提供组件。开发人员聚集起来,开始集思广益。玩具使用三种类型的组件。发动机,车轮和动叶片。例如,一辆玩具车需要一个发动机和四个轮,而玩具直升机则需要一个动叶片和一个发动机。

让我们首先创建一个抽象工厂类,它是所有具体工厂的基础。请注意,抽象工厂实质上由一组工厂方法组成:

然后创建一个特定于地方的工厂(用于创建混凝土组件的混凝土工厂)。让我们为纽约创建一个:

玩具类()也需要修改。需要阐明发动机,车轮和转子叶片,并且函数需要抽象出来(此方法将由具体类来实现。在实现中,子类使用其特定于地方的c抽象工厂类()来创建具体组件)。修改玩具类()如下:

接下来,让我们修改类和类来实现方法:

最后,需要修改具体的的工厂方法。在此处添加特定于地方的ComponensFactory。让我们完成的代码:

现在,每个特许经营的专营权,都由Dragon公司总部控制的部件工厂来提供部件。

在这节中,我们建立以一个特许经营的框架,使Dragon公司拥有控制权,并未每个特许经营者提供足够的自由来做他们擅长的事情。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191104A0M7EI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券