php工厂设计模式

class DbFactory {
    private $errmsg = ‘未找到类文件‘;
    static function factory($className){
        $className = strtoupper(substr($className,0,1)).substr($className, 1);
        if(include_once($className.‘.php‘)){
            return new $className;
        }
        else{
            throw new Exception($this->errmsg);
        }
    }
}
DbFactory::factory(‘cars‘);
DbFactory::factory(‘animal‘);
Cars.php

<?php
class Cars{
    function __construct(){
        echo "汽车类";
    }
}

Animal.php

<?php
class Animal{
    function __construct(){
        echo ‘动物世界!‘;
    }
}
时间: 2024-08-09 02:19:53

php工厂设计模式的相关文章

java设计模式之工厂设计模式(Factory)

设计模式根据使用类型可以分为三种:1. 创建模式: Factory (工厂模式). Singleton (单态). Builder ( (建造者模式). Prototype ( (原型模式).工厂方法模式. 2. 结构模式: Flyweight ( (共享模式). Bridge ( (桥模式). Decorator ( (装饰模式). Composite ( (组合模式). Adapter (适配器模式). Proxy ( (代理模式). Facade ( (外观模式). 3. 行为模式: It

工厂设计模式

工厂设计模式:是一种创建对象的模式,使代码的耦合.工厂模式就是给外部批量提供相同或者不同的产品,而外部不需要关心工厂是如何创建一个复杂产品的过程.所以工厂模式可以降低模块间的耦合,同时可以提高扩展性(当有新的产品出现时,只需要扩展工厂就行了,上层模块不敏感). 1:创建一个接口或者抽象类 2:实现接口(产品类) 3:创建一个工厂类:在工厂类里面创建对象(产品的实例化类) 4:在客户端创建工厂,得到我们想要创建的对象(客户端的引用) 1.)标准工厂方法模式 首先先介绍一下标准的工厂方法模式,不带任

简单工厂设计模式

说起设计模式,不得不从最简单的简单工厂设计模式开始说起. 简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常具有共同的父类.因为简单工厂模式中用于创建的方法是静态的,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,属于类创建型模式. 首先我们先看看下面这个类图: 在这个类图中,我们可以发现,静态工厂一共有三个对象是不可缺少的 1公共父类(Fruit接口) 2具体的产品类(Apple, Banana) 3静态工厂类(Simp

Java 工厂设计模式

//使用new关键字创建对象的缺点是耦合度太高,工厂设计模式利用Java的反射机制来实例化对象降低了这种耦合度 package cn.buaa; import java.util.Date; interface Fruit{  public void eat(); } class Apple implements Fruit{  @Override  public void eat() {   System.out.println("吃苹果");     } } class Orang

Abstract Factory Design Pattern 抽象工厂设计模式 - 总结

Abstract Factory Design Pattern 就是一般的Factory Design Pattern的进一步设计,增加一个抽象工厂,然后利用这个工厂可以创建不同基类的类. 当我们需要创建更多不同类的时候就可以使用这个设计模式了. 这个设计模式的代码相对会多点,但是其中的思想就是一般Factory Design Pattern,然后集合更多的基类,看起来挺大的一个设计模式,其思想是挺简单的. 其中具体的实现细节当然是可以有多种实现方法的: 1 利用Factory的基类衍生出不同的

学习笔记之简单工厂设计模式

工厂设计模式:根据一定的逻辑来负责对象的生产. 简单工厂设计模式:又称为静态工厂方法模式,由一个工厂类,根据传人的参数决定生产哪一种对象 三种角色:工厂角色,抽象产品角色,具体产品角色 故事:水果农场生产水果(苹果和香蕉),一个顾客直接去农场买水果 首先抽象角色: 水果接口 public interface IFruit { void growth(); } 具体产品角色:苹果,香蕉 public class Apple implements IFruit { public void growt

工厂设计模式的探讨——iOS类簇的应用分析

工厂设计模式的探讨--iOS类簇的应用分析 一.何为设计模式 什么是设计模式,先来看段度娘的话: 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样. 其实我们不需要这么专业,在我的理解,设计模式就是一种规范化的编程习惯,养成了这样的思想与习惯,

抽象工厂设计模式

/** 抽象工厂设计模式:与工厂设计模式是一样的,只不过抽象工厂是多产品系的. 工厂模式是单产品系的. 一个生产汽车的工厂,生产TopCar.TopBus,MidCar.MidBus,LowCar.LowBus. 利用抽象设计模式的方法,提取共同的特征. 当产生第四个SuperCar()类的时候,只需要在原来代码上增添SuperCar类实现接口,创建工厂即可. 而不需要再更改原来的代码. */ interface ICar{ //System.out.println("定义一些生产汽车共有的方法

ios 工厂设计模式

参考网址:http://doc.okbase.net/luozhonglan/archive/103843.html 1. 简单工厂模式 如何理解简单工厂,工厂方法, 抽象工厂三种设计模式? 简单工厂的生活场景,卖早点的小摊贩,他给你提供包子,馒头,地沟油烙的煎饼等,小贩是一个工厂,它生产包子,馒头,地沟油烙的煎饼.该场景对应的UML图如下所示: 图1:简单工厂模式UML图 简单工厂模式的参与者: 工厂(Factory)角色:接受客户端的请求,通过请求负责创建相应的产品对象. 抽象产品(Abst

工厂设计模式 Factory

Factory 主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类. 例如:汽车销售商场 该模式将创建对象的过程放在了一个静态方法中来实现.在实际编程中,如果需要大量的创建对象,该模式是比较理想的. public class Demo1 { public static void main(String[] args) { System.out.println("买宝马"); Car bmw = CarFactory("BMW"); bmw.run(