php-原廠模式

來源:互聯網
上載者:User
針對自己的不足與加深php的認識,選擇用php來研究各種設計模式。

今天就看了設計模式的介紹,並學習了原廠模式,因為原廠模式比較簡單,也比較常用。原廠模式的最主要作用就是對象建立的封裝、簡化建立對象操作。

下面是一個簡單例子:

abstract class Parents
{
public function show(){}
}

class Sons extends Parents
{
public function show()
{
echo 'i am son!';
}
}

class Girls extends Parents
{
public function show()
{
echo 'i am girl!';
}
}

class Factory
{
private $arrParent = array();
public function create($parent)
{
$this->arrParent[] = new $parent();
}
public function show()
{
foreach($this->arrParent as $par)
{
$par->show();
}
}
}

$factory = new Factory();
$factory->create('Sons');
$factory->create('Girls');
$factory->show();
?>

原廠模式的應該比較多,用的最多情況就是利用工廠根據條件動態選擇所要建立的對象。這樣做的好處是可以在只修改工廠和新增的類就可以添加新的對象建立,對於代碼維護和擴充都是個不錯的選擇,而且動態建立對象的應用帶來了更多的靈活性。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.