PHP设计模式——原型模式

问题:假设有一款游戏,分为A和B两个地方,A和B两个地方都有E,F三个环境,三个环境分别都有一些操做。php

<?php
abstract class E
{
  abstract function index();
}

abstract class F
{
  abstract function index();
}

class AE extends E
{
  public function index()
  {
    echo 'AE';
  }
}

class AF extends F
{
  public function index()
  {
    echo 'AF';
  }
}

class BE extends E
{
  public function index()
  {
    echo 'BE';
  }
}

class BF extends F
{
  public function index()
  {
    echo 'BF';
  }
}

class AddressFactory
{
  private $f;
  private $e;
  public function __construct(E $e,F $f)
  {
    $this->e = $e;
    $this->f = $f;
  }
  public function getF()
  {
    return clone $this->f;
  }
  public function getE()
  {
    return clone $this->e;
  }
}

$all = new AddressFactory(new BE(),new AF());
$e = $all->getE();
$e->index();
相关文章
相关标签/搜索