zoukankan      html  css  js  c++  java
  • 抽象工厂模式

     1 <?php
     2 /**
     3  * 工厂方法与抽象工厂的区别:
     4  * 工厂方法: 抽象出一个共同的创建的行为, 但具体能创建出来什么东西,是由具体的工厂(子类或实现类)来实现的
     5  * 抽象模式: 抽象出共同的创建行为,还有必须创建的对象, 所有的工厂(子类或实现类)都必须实现
     6  */
     7 
     8 abstract class AbstractFactory
     9 {
    10     abstract public function createProduct1();
    11     abstract public function createProduct2();
    12 }
    13 
    14 class FactoryA extends AbstractFactory
    15 {
    16     public function createProduct1()
    17     {
    18         return new ProductA1();
    19     }
    20 
    21     public function createProduct2()
    22     {
    23         return new ProductA2();
    24     }
    25 }
    26 
    27 class FactoryB extends AbstractFactory
    28 {
    29     public function createProduct1()
    30     {
    31         return new ProductB1();
    32     }
    33 
    34     public function createProduct2()
    35     {
    36         return new ProductB2();
    37     }
    38 }
    39 
    40 
    41 
    42 
    43 class ProductA1
    44 {
    45 
    46 }
    47 class ProductA2
    48 {
    49 
    50 }
    51 
    52 class ProductB1
    53 {
    54 
    55 }
    56 class ProductB2
    57 {
    58 
    59 }
    View Code
  • 相关阅读:
    XOR linked list
    Doubly Linked List&DLL(双向链表)
    circular linked list&CLL(循环链表)
    Linked list(单链表)
    malloc() & free()
    Mysql 1045
    DoublePointer (**)
    java.sql.SQLException: Operation not allowed after ResultSet closed
    Array
    java-方法
  • 原文地址:https://www.cnblogs.com/hangtt/p/6258037.html
Copyright © 2011-2022 走看看