国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php設計模式工廠模式有什么作用?

2020-03-22 18:47:18
字體:
來源:轉載
供稿:網友
我們給大家介紹了php工廠模式的好處,工廠模式的含義,以及工廠模式的三種情況,那么我們今天繼續給大家介紹php工廠模式的作用是什么!

工廠模式分為三種:簡單工廠、工廠方法、抽象工廠 ,三種工廠的區別是,抽象工廠由多條產品線,而工廠方法只有一條產品線,是抽象工廠的簡化。而工廠方法和簡單工廠相對,大家初看起來好像工廠方法增加了許多代碼但是實現的功能和簡單工廠一樣。但本質是,簡單工廠并未嚴格遵循設計模式的開閉原則,當需要增加新產品時也需要修改工廠代碼。但是工廠方法則嚴格遵守開閉原則,模式只負責抽象工廠接口,具體工廠交給客戶去擴展。在分工時,核心工程師負責抽象工廠和抽象產品的定義,業務工程師負責具體工廠和具體產品的實現。只要抽象層設計的好,框架就是非常穩定的。

簡單工廠

優點:產品使用者不需要關心產品類的創建過程,與具體產品的實現類達到解耦的效果;

缺點:違背"開放--封閉"原則(OCP),因為新增一個產品類的時候,需要修改原先的工廠方法;

適用場合:當工廠類負責創建的對象比較少的時候;

實現方法:定義一個簡單共產類,并定義一個靜態生產方法,根據傳進來的type參數生成對應的具體父親類

具體代碼如下

<?php//抽象產品interface Person {    html' target='_blank'>public function getName(); }//具體產品實現class Teacher implements Person {    public function getName() {        return "老師n";    }}class Student implements Person {    public function getName() {        return "學生n";    }}//簡單工廠class SimpleFactory {    public static function getPerson($type) {      $person = null;      if ($type == 'teacher') {        $person = new Teacher();      } elseif ($type == 'student') {        $person = new Student();      }      return $person;    }}//簡單工廠調用class SimpleClient {    function main() {      // 如果不用工廠模式,則需要提前指定具體類      // $person = new Teacher();      // echo $person->getName();      // $person = new Student();      // echo $person->getName();      // 用工廠模式,則不需要知道對象由什么類產生,交給工廠去決定      $person = SimpleFactory::getPerson('teacher');      echo $person->getName();      $person = SimpleFactory::getPerson('student');      echo $person->getName();    }}

總結:

通過本文的學習相信大家對php工廠模式的作用有了一個新的概念,希望對你的工作有所幫助!~

相關推薦:

關于使用php工廠模式的好處分析


三種php工廠模式的簡單介紹


什么是php工廠模式?為何要用php工廠模式?

以上就是php設計模式工廠模式有什么作用?的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吕梁市| 灵石县| 德惠市| 万安县| 淳安县| 林口县| 德阳市| 洪江市| 秀山| 乳山市| 皮山县| 灵山县| 孟津县| 弥渡县| 博白县| 加查县| 娄底市| 寿阳县| 茶陵县| 寿宁县| 探索| 武城县| 静海县| 东乌珠穆沁旗| 英山县| 延边| 沭阳县| 铜陵市| 高淳县| 东至县| 临猗县| 阿克陶县| 营口市| 库车县| 望江县| 六盘水市| 濉溪县| 宜宾市| 攀枝花市| 武邑县| 泗洪县|