php-工厂模式

简介: php-工厂模式

一. 工厂模式的特点

特点 :将调用者和创建者分离,调用者直接向工厂类请求获取调用对象,减少代码耦合,提高系统的维护性和扩展性

应用场景:有多个产品类时就要用到工厂模式,比如在数据库连接中,我们可以采用多种数据库连接方法,有mysql扩展,mysqli扩展,PDO扩展等,在这种情况下我们可以一个扩展对应一个产品类,然后采用工厂模式。

一个类通过本身的静态方法来,实例化一个类并返回一个实例对象;

二.代码要点

1.分两部分,产品类和工厂类,其中产品类有多个,而工厂类只有一个。
2.工厂类必须提供一个生产产品的方法。

<?php
 
//产品类
Class cat
{
    public function __construct()
    {
        echo 'cat',PHP_EOL;
    }
}
 
//产品类
Class dog
{
    public function __construct()
    {
        echo 'dog',PHP_EOL;
    }
}
 
//工厂类
Class animal
{
    //该方法用于根据需求去生产不同的产品
    static public function factory($type)
    {
        switch ($type)
        {
            case 'dog':
                return new dog();
                break;
 
            case 'cat':
                return new cat();
                break;
        }
    }
}
 
$demo = animal::factory('cat');
var_dump($demo);
目录
相关文章
|
9月前
|
设计模式 数据库连接 PHP
PHP设计模式21-工厂模式的讲解及应用
PHP快速入门与实战学会好设计模式,能够对我们的技术水平得到非常大的提升。同时也会让我们的代码写的非常优雅,避免出错,也能更好的扩展和维护我们的项目。
107 32
|
设计模式 PHP
php设计模式-工厂模式
php设计模式-工厂模式
47 0
|
设计模式
【PHP-设计模式】工厂模式
【PHP-设计模式】工厂模式
107 0
【PHP-设计模式】工厂模式
|
PHP 数据库 设计模式
PHP设计模式之——工厂模式
在开发大型系统过程中,往往会出现这样一种情况: 我有一部分基础数据,是类classA是从数据库A读取出来的,其他很多的功能都是基于这个基础数据来操作的。现在呢,我想把数据从数据库A变成从另外的数据源去获取,这时候,要修改起来就比较麻烦,要修改其他很多类的代码。这种设计显然是不够灵活的,换句话说,就是紧耦合的,系统中某个部分的函数或类严重依赖于系统的其他部分中的函数或类的行为和结构。 工
1367 0
|
Oracle 关系型数据库 MySQL
php设计模式总结-工厂模式
使用工厂模式的目的或目标?工厂模式的最大优点在于创建对象上面,就是把创建对象的过程封装起来,这样随时可以产生一个新的对象。减少代码进行复制粘帖,耦合关系重,牵一发动其他部分代码。通俗的说,以前创建一个对象要使用new,现在把这个过程封装起来了。
911 0
|
Oracle 关系型数据库 MySQL
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0