君网科技

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    设计模式是在1990年由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。设计模式通常描述了一组相互紧密作用的类与对象,为软件的重构提供了目标。

    在软件设计领域中,设计模式是一个用来组织代码的模板,它不是一个能在项目中直接包含和使用的代码库。用较小的示例展示模式的价值是非常困难的,因为设计模式实际上是在大型代码库中发挥作用的,然而这并非意味着不应该在小应用程序中使用设计模式。很多良好的应用程序都以小应用程序为起点,逐渐发展到大型应用程序,所以我们没有理由不以扎实的编码实践为基础。在PHP的开发过程中,经常会使用的设计模式包括:简单工厂模式、单元素模式、观察者模式、命令模式、策略模式及MVC模式等。

     1.简单工厂模式(Simple Factory Pattern)又被称为静态工厂方法模式(Static Factory Method Pattern),具体指创建一个类似于工厂的类,通过对该类中成员方法的调用返回不同类型的对象。

    在面向对象编程方式中,简单工厂模式是一种经常被使用到的模式。简单工厂模式提供了一种在实时状态下实例化对象的机制,该模式的核心是工厂类,该类中含有必要的判断逻辑,可以决定在什么时候创建并返回哪个产品类的实例化对象。
下面通过一个简单工厂模式的示例来说明简单工厂模式的原理,代码如下:

 1 <?php
 2 abstract class Product{                           //抽象类Product
 3 abstract function getName();
 4 }
 5 class ProductA extends Product{                    //具体产品类ProductA
 6 public function getName(){
 7 echo"I am ProductA";
 8 }
 9 }
10 class ProductB extends Product{                    //具体产品类ProductB
11 public function getName(){
12 echo"I am ProductB";
13 }
14 }
15 class ProductFactory{                            //工厂类ProductFactory
16 static function create($name){
17 switch($name){
18 case"A":
19 return new ProductA();
20 case"B":
21 return new ProductB();
22 }
23 }
24 }
25 $product=ProductFactory::create("A");
26 $product->getName();
27 echo"<br>";
28 $product=ProductFactory::create("B");
29 $product->getName();
30 ?>

    在上述代码中,抽象类Product定义了一个获取产品名称的成员方法getName(),Product抽象类的具体实现为子类ProductA和子类ProductB。工厂类ProductFactory用来决定在什么时候创建并返回哪个产品类的实例化对象,使用工厂类时只需要将参数传递给其成员方法create(),就可以创建Product类的对象,无须考虑具体的生产细节。此关系下用图表示:

    运行简单工厂模式的示例代码后,得到的运行结果如图所示:

以上是我们在郑州网站建设过程中的总结,欢迎指正。

 

posted on 2021-03-15 23:35  艾维艾  阅读(70)  评论(0编辑  收藏  举报