iT邦幫忙

設計模式相關文章
共有 145 則文章

技術 Day 57. 系列完結心得

嗨,我是Bear。 遵守在Day30時與自己的約定,於年前寫完所有設計模式。 稍晚會將目錄更新至Day1。 以下這段話給2019年的自己 讀書會還好玩吧...

技術 Day56. 範例:各國婚禮(訪問者模式)

本文同步更新於blog 情境:這是一間國際婚禮公司 <?php namespace App\VisitorPattern\Wedding;...

技術 Day55. 訪問者模式

本文同步更新於blog Visitor Pattern 允許在不改變組合內各元素的情況下,增加各元素的新操作。。 訪問者模式會將類別分為兩類: 分別是訪問...

技術 Day54. 範例:打招呼(中介者模式)

本文同步更新於blog 情境:以下是人腦的運作程式 <?php namespace App\MediatorPattern\SayHello;...

技術 Day53. 中介者模式

本文同步更新於blog Mediator Pattern 集中相關對象的之間複雜的溝通與控制方式。 中介者模式會將類別分為兩類: 分別是中介者類別 (Me...

技術 Day52. 範例:新產品開發(職責鏈模式)

本文同步更新於blog 情境:公司開發了一個新產品,客戶端有許多不同的請求 客戶端的請求類別 <?php namespace App\Ch...

技術 Day51. 職責鏈模式

本文同步更新於blog Chain Of Responsibility Pattern 使多個物件都有機會處理請求, 從而避免請求的發送者和接受者間的耦合關...

技術 Day50. 範例:十二生肖

本文同步更新於blog 情境:玉皇大帝要舉辦渡河比賽,動物選手各顯神通。 <?php namespace App\BridgePattern\...

技術 Day49. 橋接模式

本文同步更新於blog Bridge Pattern 將抽象部分與實現部分分離,使它們都可以獨立地變化。 橋接模式會將類別分為兩類: 分別是抽象類別 (A...

技術 Day48. 範例:生物分類學(組合模式)

本文同步更新於blog 情境:原本的生物分類學(界門綱目科屬種) <?php namespace App\CompositePattern\T...

技術 Day47. 組合模式

本文同步更新於blog Composite Pattern 允許將對象組合成樹形結構來表現整體/部分層次結構。 組合能讓客戶以一致的方式處理個別對象以及對象...

技術 Day46. 範例:摩斯電碼 (解譯器模式)

本文同步更新於blog 情境:讓我們試著作一個摩斯電碼機,它會將一般句子轉成摩斯電碼的表示 首先是語境類別 (Context) <?php...

技術 Day45. 解譯器模式

本文同步更新於blog Interpreter Pattern 給定一個語言,定義它的語法表示與文法。 利用不同的表達式來翻譯語言中的句子。 解譯器模式會...

技術 Day44. 範例:文字積木 (蠅量模式)

本文同步更新於blog 情境:這是公司生產的文字積木 <?php namespace App\Flyweight\Blocks; class...

技術 Day43. 蠅量模式

本文同步更新於blog Flyweight Pattern 又稱為享元模式,於相似物件中共享儘可能多的資訊, 進而減少記憶體使用量。 蠅量模式會將類別分為...

技術 Day42. 範例:仿真Git (備忘錄模式)

本文同步更新於blog 情境:讓我們利用備忘錄模式,實作一個仿真Git 首先定義Commit <?php namespace App\Me...

技術 Day41. 備忘錄模式

本文同步更新於blog Memento Pattern 透過對象外的存檔,讓對象能夠載入之前的狀態。 備忘錄模式會將類別分成三類: 分別是原始類別 (Or...

技術 Day40. 範例:假期規劃 (建造者模式)

本文同步更新於blog 情境:目前提供旅遊行程的方式 <?php namespace App\BuilderPattern\Vacation;...

技術 Day39. 建造者模式

本文同步更新於blog Builder Pattern 將複雜對象的構建與其表示分離。 建造者模式會將類別分為三類: 分別是指揮者類別 (Director...

技術 Day38. 範例:三隻小豬 (原型模式)

本文同步更新於blog 情境:三隻小豬想要蓋房子 首先是牆壁,可以選擇不同的建材 <?php namespace App\Prototype...

技術 Day37. 原型模式

本文同步更新於blog Prototype Pattern 當創建實例的過程很昂貴或複雜時,透過拷貝這些原型來建立新的實例。 原型模式中會將類別分為兩類:...

技術 7+1 Sass 設計模式 DAY42

7+1 Sass 設計模式: https://gist.github.com/rveitch/84cea9650092119527bc 這裡可以看到它 創建了一...

技術 BEM 基礎介紹 DAY41

BEM B: Block(區塊) E: Element(元素) __ 雙下底線 M: Modifire(修飾符號) -- 雙中線 官網:http://getbe...

技術 Day36. 範例:快取代理(代理模式)

本文同步更新於blog 情境:以下是某搜尋功能 客戶端程式碼 <?php namespace App\ProxyPattern\Cache;...

技術 Day35. 代理模式

本文同步更新於blog Proxy Pattern 為另一個對象提供一個替身或佔位符以控制這個對象的訪問。 代理模式將類別分為兩類: 分別是實體類別 (R...

技術 Day34. 範例:歌曲排行(迭代器模式)

本文同步更新於blog 需求一:KTV系統要按照新增到系統的時間,由舊到新,實作歌曲排行 定義系統存取歌曲的類別(解析傳進來的data) <?...

技術 Day33. 迭代器模式

本文同步更新於blog Iterator Pattern 提供一種方法順序訪問一個聚合對象中的各個元素, 而又不暴露其內部的表示。 迭代器模式會將類別分為...

技術 Day32. 範例:資料庫連線(單例模式)

本文同步更新於blog 需求一:客戶想要能與資料庫連線的類別 <?php namespace App\SingletonPattern\DBC...

技術 Day31. 單例模式

本文同步更新於blog Singleton Pattern 確保一個類只有一個實例,並提供一個全局訪問點。 單例模式只會將類別分為一類,即單例類別 (Si...

鐵人賽 Software Development DAY 30

技術 Day30. 8人訂閱Q&A問答

前情提要:Day1. 前言(動機與簡介) 動機 重新整理在blog中的相關內容。 與大家討論學習。 時間回到三個月前 那時剛開始用hexo玩部落格...