iT邦幫忙

design pattern相關文章
共有 395 則文章
鐵人賽 Software Development DAY 17

技術 Day17. 範例:影片製作大師(樣板方法模式)

本文同步更新於blog 情境:以下是某攝影棚的影片製作方式 <?php namespace App\TemplateMethodPattern\...

鐵人賽 Software Development DAY 25

技術 [Day25] 中介者模式 | Mediator Pattern

文同步分享於個人blog 定義 定義一個 Mediator 物件用來封裝一組物件的互動方式。Mediator 藉由避免物件間相互直接的引用,從而降低它...

鐵人賽 Software Development DAY 16

技術 Day16. 樣板方法模式

本文同步更新於blog Template Method Pattern 在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。 樣板方法模式會將類別分...

鐵人賽 Software Development DAY 15

技術 Day15. 範例:機器人廚師(命令模式)

本文同步更新於blog 情境:這是一間牛排館,會根據客戶的訂單出菜 <?php namespace App\CommandPattern\Wes...

鐵人賽 Software Development DAY 23

技術 [Day23] 命令模式 | Command Pattern

文同步分享於個人blog 定義 The Command Pattern encapsulates a request as an object, the...

鐵人賽 Software Development DAY 14

技術 Day14. 命令模式

本文同步更新於blog Command Pattern 將請求封裝成對象,以便使用不同的請求來進行參數化。 命令模式也支持隊列、日誌及可撤銷的操作。 命令...

鐵人賽 Software Development DAY 22

技術 [Day22] 責任鏈模式 | Chain of Responsibility Pattern

文同步分享於個人blog 定義 將多個物件連成一條鏈,沿著這條鏈傳遞至每一個物件並處理請求。 舉一個責任鏈模式在現實生活中的例子,就是公司員工請假。一...

鐵人賽 Software Development DAY 13

技術 Day13. 範例:漢堡點餐系統(裝飾者模式)

本文同步更新於blog 需求一:客戶想要一個漢堡點餐系統 <?php namespace App\DecoratorPattern\Burger...

鐵人賽 Software Development DAY 21

技術 [Day21] 代理模式 | Proxy Pattern

文同步分享於個人blog 定義 爲其他物件提供一種代理以控制對這個物件的訪問。 代理模式是一種物件結構型模式。在代理模式中引入了一個新的代理物件,代理...

鐵人賽 Software Development DAY 20

技術 [Day20] 享元模式 | Flyweight Pattern

文同步分享於個人blog 定義 運用共享技術有效地支持大量細粒度的物件。 享元模式是運用共享技術有效地支持大量細粒度的物件。他可以避免大量相似類的開銷...

鐵人賽 Software Development DAY 12

技術 Day12. 裝飾者模式

本文同步更新於blog Decorator Pattern 動態地將責任附加到對象上。 若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。 裝飾者模式會...

鐵人賽 Software Development DAY 11

技術 Day11. 範例:收銀機 (策略模式)

本文同步更新於blog 需求一:客戶想要一台收銀機 <?php namespace App\StrategyPattern\CashRegist...

鐵人賽 Software Development DAY 19

技術 [Day19] 外觀模式 | Facade Pattern

文同步分享於個人blog 定義 為子系統中的一組接口提供一個統一的高層接口,使得子系統更容易使用。 簡單來說,就是提供一個接口給客戶端使用,接口內包含...

鐵人賽 Software Development DAY 10

技術 Day10. 策略模式

本文同步更新於blog Strategy Pattern 定義算法族,分別封裝,讓彼此之間能互相替換,使算法變化獨立。 策略模式只會將類別分為一類,即算法...

鐵人賽 Software Development DAY 18

技術 [Day18] 裝飾者模式 | Decorator Pattern

文同步分享於個人blog 定義 裝飾模式動態將責任附加在物件上,若要擴展功能上,裝飾者提供比繼承更有彈性的替代方案。 拿生活來說,我買了一棟三房兩廳兩...

鐵人賽 Software Development DAY 9

技術 Day9. 範例:運輸系統(簡單工廠模式)

本文同步更新於blog 情境:運輸系統,用來取得當前機型名稱等資訊 <?php namespace App\FactoryPattern\Tr...

鐵人賽 Software Development DAY 17

技術 [Day17] 组合模式 | Composite Pattern

本文同步分享於個人blog 定義 物件以樹狀結構組合,做為表現出整體-部分的階層關係。 Composite Pattern使得使用者對單個物件和組合物...

鐵人賽 Modern Web DAY 10

技術 [Day 10] Proxy Pattern

其實 Proxy 是一個相當廣的概念,它可以代表一種設計模式,也可以代表實際存在的網路實體。若是實體,又可以存在於 backend server 之間,也能存...

鐵人賽 Software Development DAY 8

技術 Day8. 簡單工廠模式

本文同步更新於blog Simple Factory Pattern 又稱為靜態工廠,傳入不同的參數以取得不同的類別物件。 簡單工廠模式會將類別分為兩類:...

鐵人賽 Software Development DAY 16

技術 [Day16] 橋接模式 | Bridge Pattern

此文同步於個人Blog 定義 將抽象部分與實現部分分離,使它們都可以獨立的變化。 橋接模式(Bridge Pattern)是用合成關係代替繼承關係,進...

鐵人賽 Software Development DAY 7

技術 Day7. UML類別圖說明

本文同步更新於blog Class Diagram Class diagram describes the structure of a system by...

鐵人賽 Software Development DAY 15

技術 [Day15] 適配器模式 | Adapter Pattern

本文同步分享於個人blog 定義 The Adapter Pattern converts the interface of a class into...

鐵人賽 Software Development DAY 6

技術 Day6. 依賴反轉原則

本文同步更新於blog Dependency Inversion Principle (DIP) High-level modules should not...

鐵人賽 Software Development DAY 14

技術 [Day14] 原型模式 | Prototype Pattern

本文同步分享於個人blog 定義 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。 看完這個定義,大概可以猜到,這個模式的用途是讓我們...

鐵人賽 Software Development DAY 13

技術 [Day13] 生成器模式 | Builder Pattern

本文同步分享於個人blog 定義 把一個複雜物件的建構與樣貌分離,如此相同的建構過程可以產生不同樣貌的物件 先舉一個簡單的例子:組一台電腦! 現在我想...

鐵人賽 Software Development DAY 5

技術 Day5. 介面隔離原則

本文同步更新於blog Interface Segregation Principle (ISP) No client should be forced t...

鐵人賽 Software Development DAY 4

技術 Day4. 裡氏替換原則

本文同步更新於blog Liskov Substitution Principle (LSP) Subtypes must be substitutable...

鐵人賽 Software Development DAY 12

技術 [Day12] 抽象工廠模式 | Abstract Factory Pattern

本文同步分享於個人blog 定義 提供一個建立一系列相關或者相互依賴物件的介面,而無需指定它們具體的類。 簡單來說就是 提供一個介面,用來建立相關的...

鐵人賽 Software Development DAY 3

技術 Day3. 開放封閉原則

本文同步更新於blog Open-Close Principle (OCP) A software artifact should be open for...

鐵人賽 Software Development DAY 11

技術 [Day11] 工廠模式 | Factory Pattern

本文同步分享於個人blog Sample Factory Pattern 定義 藉由定義一個class來負責建立其他class的instance,被建...