設計模式之(一)抽象工廠模式

2021-10-03 17:38:33 字數 1894 閱讀 2365

我理解的抽象工廠模式其實就是為物件提供建立介面,呼叫建立介面就能得到想要的物件。

舉例:比如說需要和文字轉換類,傳如文字內容獲取路徑和名稱,需要得到(或文字)的html標籤或者是(或文字)的json_decode資料,在如下圖的抽象工廠模式中,我們只需要呼叫業務工廠類(htmlfactory或jsonfactory)裡面的方法即可得到你想要得到的業務類。

uml類圖

**體現

<?php 

/** * 抽象工廠類

* class abstractfactory

*/abstract class abstractfactory

<?php 

/** * html工廠類

* class htmlfactory

*/class htmlfactory extends abstractfactory

/*** 建立

* @param string $path

* @param string $name

* @return picturehtml|mixed

*/public function createpicture(string $path, string $name = '')

}

<?php 

/** * json工廠類

* class jsonfactory

*/class jsonfactory extends abstractfactory

/*** 建立

* @param string $path

* @param string $name

* @return picturejson|mixed

*/public function createpicture(string $path, string $name = '')

}

<?php 

/** * 業務介面類

* inte***ce mediainte***ce

*/inte***ce mediainte***ce

<?php 

/** * 文字抽象類

* class text

*/abstract class text implements mediainte***ce

}

<?php 

/** * 抽象類

* class picture

*/abstract class picture implements mediainte***ce

}

<?php 

/** * 文字html實現業務類

* class texthtml

*/class texthtml extends text

}

<?php 

/** * html業務實現類

* class picturehtml

*/class picturehtml extends picture

}

<?php 

/** * 文字json實現類

* class textjson

*/class textjson extends text

}

<?php 

/** * json實現類

* class picturejson

*/class picturejson extends picture

}

設計模式學習筆記(一) 抽象工廠模式

一 首先學術一下 以下內容來自 設計模式 可復用物件導向軟體的基礎 erich gamma,richard helm,ralph johnson,john vlissides 著 李英軍 馬曉星 蔡敏 劉建中 等譯 呂建 審校 抽象工廠模式 abstract factory 1 意圖 提供乙個建立一...

設計模式C 實現十一 抽象工廠模式

抽象工廠模式 abstract factory 提供乙個建立一系列相關或者相互依賴物件的介面,而無需指定他們具體的類。優點 便於交換產品系統,由於具體工廠類,在乙個應用中只需要初始化的時候出現一次,這就使得改變乙個應用的具體工廠變得非常容易,只需要改變具體工廠即可以使用不同的產品配置。它讓具體的建立...

設計模式 工廠模式 抽象工廠模式

建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...