首頁 > 後端開發 > PHP問題 > PHP中什麼是工廠模式以及工廠方法模式?

PHP中什麼是工廠模式以及工廠方法模式?

慕斯
發布: 2023-03-10 19:54:02
原創
1659 人瀏覽過

工廠方法模式核心是工廠類別不再負責所有物件的創建,而是將具體創建的工作交給子類別去做,成為一一個抽象工廠角色,它僅負責給出具體工廠類別必須實現的接口,而不接觸哪一個產品類別應當被實例化這種細節,我們可以深入探討:

相關推薦:《PHP中什麼是設計模式?什麼是單例?怎麼用?

工廠:

$a = new Dog('abc');
登入後複製

介面中定義一一些方法

實作介面的類別實作這些方法

工廠類別:用以實例化物件

優點:為系統結構提供了靈活的動態擴展機制。方便維護

我們以程式碼示範什麼是工廠模式,首先新建一個文件,我們在文件裡面創建一個接口,接口裡面有兩個方法,緊接著我們寫兩個類實現此接口,然後我們需要把剛剛定義的兩個方法寫出來,然後我們在寫一個類,那麼,我們如何將他們寫在一個工廠中,透過工廠創建我們定義的兩個對象,我們先建立一個工廠類,然後在類裡面寫一個靜態方法,然後給我們傳遞一個類型,然後我們來選擇類型,如果我們的類型是person那麼我們就創建一個person,如果說我們要創建人類的對象,我們只需要透過工廠來創建就行了,具體程式碼如下:

<?php
interface Skill
{
function family();
function pome();
}
class Person implements Skill
{
  function family()
{
  echo &#39;如果努力有用的话,还要天才干什么<br />&#39;;
}
   function pome()
{
echo &#39;爱恨痴狂,抵不过沧海一笑&#39;;
}
}
class JingLing implements Skill
{
  function family( )
{
  echo &#39;为什么会痛苦,一直微笑就好了<br />&#39; ;
}
  function buy()
{
  echo &#39;嘴上说不要,但你的眼睛很诚实嘛<br />&#39;;
}
}
class Factory 
{
  static function createHero($type)
  {
    switch ($type) {
      case&#39;person&#39; :
        return new Person();
      break;
      case&#39;jingling&#39; :
        return new JingLing();
      break;
}
}
}
$person = Factory::createHero(&#39;person&#39;);
$jing = Factory::createHero(&#39;jingling&#39;);
登入後複製

以上就是我們所謂的工廠模式;

#工廠方法:

## 工廠方法模式核心是工廠類別不再負責所有物件的創建,而是將具體創建的工作交給子類別去做,成為一一個抽象工廠角色,它僅負責給出具體工廠類別必須實現的接口,而不接觸哪一個產品類別應當被實例化這種細節

根據上述程式碼,我們了解我們的工廠模式要負責創建對象,我們以程式碼為例:規定一個接口,同樣兩個方法,緊接著我們寫兩個類,而我們建立的工廠類只負責規定接口,具體的實現交給子類,具體我們以代碼為例:

<?php
interface Tell
{
function pome();
function receive();
}
class shiju implements TeLL
{
function pome( )
{
echo &#39;没有心,就不会受伤&#39;;
}
function receive( )
{
echo&#39;守护爱人的心,因恐惧失去而无悔&#39;;
}
}
class HuaWei implements TeLL
{
function call()
{
echo &#39;不知道你的名字,但知道你的死期&#39;;
}
function receive( )
{
echo &#39;花有再开的那天,人有重逢的时候吗?&#39;;
}
}
//工厂类只负责规定接口,具体的实现交给子类
interface Factory
{
  static function createPhone( );
}
class XiaoFactory implements Factory
{
  static function createPhone( )
  return new XiaoMi ();
}
}
class HuaWeiFactory implements Factory
{
static function createPhone()
{
  return new HUawei();
}
}
登入後複製
推薦學習:《

PHP視頻教程

以上是PHP中什麼是工廠模式以及工廠方法模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板