资讯专栏INFORMATION COLUMN

PHP 设计模式之工厂模式 (静态工厂模式)

kviccn / 365人阅读

摘要:工厂模式由工厂类根据参数来决定创建出哪一种产品类的实例。工厂类是指包含了一个专门用来创建其他对象的方法的类。工厂模式的最主要作用就是对象创建的封装简化创建对象操作。

### 工厂模式:

由工厂类根据参数来决定创建出哪一种产品类的实例。工厂类是指包含了一个专门用来创建其他对象的方法的类。所谓按需分配,传入参数进行选择,返回具体的类。工厂模式的最主要作用就是对象创建的封装、简化创建对象操作。 简单的说,就是调用工厂类的一个方法(传入参数)来得到需要的类;
优点
工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建哪个具体类的对象.通过使用工厂类,外界可以从直接创建具体产品对象的尴尬局面摆脱出来,仅仅需要负责“消费”对象就可以了。而不必管这些对象究竟如何创建及如何组织的.明确了各自的职责和权利,有利于整个软件体系结构的优化。
缺点
由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻辑集中到了一个工厂类中;它所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了。

当系统中的具体产品类不断增多时候,可能会出现要求工厂类根据不同条件创建不同实例的需求.这种对条件的判断和对具体产品类型的判断交错在一起,很难避免模块功能的蔓延,对系统的维护和扩展非常不利;

";
    }
    public function del($username)
    {
        // TODO: Implement del() method.
    }
    public function edit($username)
    {
        // TODO: Implement edit() method.
    }


}

/**
 * B公司
 * Class Company_B
 */
class  Company_B implements Company
{

    public function add($username)
    {

        echo $username."is add into B
"; } public function del($username) { // TODO: Implement del() method. } public function edit($username) { // TODO: Implement edit() method. } } /** * C公司 * Class Company_C */ class Company_C implements Company { public function add($username) { echo $username."is add into C
"; } public function del($username) { // TODO: Implement del() method. } public function edit($username) { // TODO: Implement edit() method. } } $type = "A"; $company = Factory::create_obj($type); $company->add("赵信"); $type = "B"; $company = Factory::create_obj($type); $company->add("德玛"); $type = "C"; $company = Factory::create_obj($type); $company->add("皇子");

上面代码片段将会输出结果:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29377.html

相关文章

  • php工厂模式

    摘要:工厂模式概念工厂模式是一种类,它具有为您创建对象的某些方法。使用该工厂的所有代码会自动更改。 工厂模式概念 工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。 3中不同的工厂模式 1.简单工厂模式(静态工厂模式):通过静态方法来创建对象2.工厂模式:定...

    tainzhi 评论0 收藏0
  • PHP设计模式工厂模式

    摘要:根据抽象程度的不同,工厂模式分为三种简单工厂模式工厂方法模式抽象工厂模式讲解简单工厂模式简单工厂模式又称静态工厂方法模式,之所以可以这么说,是因为简单工厂模式是通过一个静态方法来创建对象的。他可以解决简单工厂模式中的封闭开放原则问题。 概念 工厂模式是我们最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。 使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工...

    imtianx 评论0 收藏0
  • PHP面试常考设计模式——工厂模式

    摘要:工厂模式其实可以划分为简单工厂模式工厂方法模式抽象工厂模式等。简单工厂模式介绍简单工厂模式又称为静态工厂方法模式,它属于类创建型模式。此模式是对工厂方法模式的进一步扩展。 你好,是我琉忆,PHP程序员面试笔试系列图书的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面试常考之设计模式——工厂模式周三:PHP面试常考之设计模式——建造者模式周五:PHP...

    Jiavan 评论0 收藏0
  • php 设计模式工厂模式、单例模式、注册树模式

    摘要:的设计模式有很多种,本文取最简单的三种模式工厂模式单例模式和注册树模式进行简单的讲解。文件创建完后,咱们回到单元测试文件文件再执行一下单元测试命令发现,也能返回成功,这样的话我们就能很方便的修改任何驱动了。 php 设计模式之工厂模式、单例模式、注册树模式 在软件工程中,创建型设计模式承担着对象创建的职责,尝试创建适合程序上下文的对象,对象创建设计模式的产生是由于软件工程设计的问题,具...

    liangzai_cool 评论0 收藏0
  • PHP设计模式(一)简单工厂模式 (Simple Factory For PHP

    摘要:工厂模式使一个类的实例化延迟到其子类。参考系列源地址系列目录设计模式概述设计模式一简单工厂模式设计模式二工厂方法模式设计模式三抽象工厂模式设计模式四单例模式 一、什么是简单工厂模式 简单工厂 (Simple Factory)又称静态工厂方法模式(Static Factory Method Pattern)   使用的频率可以说是非常之高,它的官方解释为:定义一个用于创建对象的接口,让子...

    Hancock_Xu 评论0 收藏0

发表评论

0条评论

kviccn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<