iT邦幫忙

design pattern相關文章
共有 479 則文章
鐵人賽 Software Development DAY 20

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

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

鐵人賽 Software Development DAY 15

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

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

鐵人賽 Software Development DAY 14

技術 Day14. 命令模式

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

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 13

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

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

鐵人賽 Software Development DAY 18

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

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

鐵人賽 Software Development DAY 12

技術 Day12. 裝飾者模式

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

鐵人賽 Software Development DAY 11

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

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

鐵人賽 Software Development DAY 17

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

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

鐵人賽 Modern Web DAY 10

技術 [Day 10] Proxy Pattern

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

鐵人賽 Software Development DAY 16

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

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

鐵人賽 Software Development DAY 10

技術 Day10. 策略模式

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

鐵人賽 Software Development DAY 15

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

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

鐵人賽 Software Development DAY 9

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

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

鐵人賽 Software Development DAY 8

技術 Day8. 簡單工廠模式

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

鐵人賽 Software Development DAY 7

技術 Day7. UML類別圖說明

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

鐵人賽 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 12

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

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

鐵人賽 Software Development DAY 11

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

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

鐵人賽 Software Development DAY 10

技術 [Day10] 單例模式 | Singleton Pattern

本文同步分享於個人blog 在昨天終於把所有的Design Principle給講完了,今天開始進入Design Pattern。首先是創建型模型,其中單例模式...

鐵人賽 Software Development DAY 9

技術 [Day09] 迪米特法則 | Law of Demeter

本文同步分享於個人blog 終於到了最後一個Design Principle了。若對其他Design Principle不熟悉的,可以先看前面的文章喔!!...

鐵人賽 Software Development DAY 8

技術 [Day08] 合成/聚合複用原則 | Composite/Aggregate Reuse Principle

本文同步分享於個人blog 合成是什麼?聚合又是什麼?他們與繼承差在哪??? 定義 盡量使用組合(contains-a)/聚合(has-a)方式來代替...

鐵人賽 Software Development DAY 7

技術 [Day07] 依賴反轉原則 | Dependency Inversion Principle

本文同步分享於個人blog 定義 依賴反轉原則(DIP)的定義有兩點: 1. High-level modules should not depend...

鐵人賽 Software Development DAY 5

技術 [Day05] 里氏替換原則 | Liskov Substitution Principle

本文同步分享於個人blog 今天來到了第三個原則,里氏替換原則。個人覺得這個原則稍稍複雜些,所以今天篇幅會比較長,範例程式碼也比較多,麻煩耐著性子看完囉XD...

鐵人賽 Software Development DAY 4

技術 [Day04] 開閉原則 | Open/Closed Principle

本文同步於個人部落格 今天接著介紹第二個Design Principle。那就廢話不多說直接開始吧!! 定義 Software entities li...

鐵人賽 Software Development DAY 3

技術 [Day03] 單一職責原則 | Single Responsibility Principle

本文同步於個人Blog 昨天我們介紹了七個Design Principle,也用簡單的例子讓大家初步認識每個Principle的作用。進而了解了若要使用Desi...

鐵人賽 Software Development DAY 2

技術 [Day02] Design Pattern的原則與類型

此文同步於個人Blog 前一天我們認識了Design Pattern以及知道了為何要使用Design Pattern。而在介紹及使用Design Pattern...