iT邦幫忙

設計模式相關文章
共有 260 則文章
鐵人賽 Software Development DAY 17

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

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

鐵人賽 Software Development DAY 23

技術 Day23. 範例:自助餐餐廳 (外觀模式)

本文同步更新於blog 情境:以下是某自助餐餐廳的情況 自助式霜淇淋機 <?php namespace App\FacadePattern\...

鐵人賽 自我挑戰組 DAY 3

技術 DAY21: Object Pool 模式

本篇將介紹何謂 object pool 模式,提及的案例是本書作者實際遇到的專案問題。 直接進入案例 這一章 (Chapter 22) 有一些篇幅放在除了實踐此...

鐵人賽 Software Development DAY 11

技術 【PHP 設計模式大頭菜】組合模式 Composite Pattern

組合模式 Composite Pattern 組合模式,一種將物件一個一個處理,並且最後組合起來的模式,可以想像剛買到大頭菜時的夢想,經過每次漲跌所帶來的希望...

技術 [深入淺出設計模式] Ch8 The Template Method Pattern (2) - 模板模式 範例 動物排序

上篇解釋完模板模式手癢還是把書中另一個排序的範例寫了一下哈哈假設今天有不同的動物類別共同點是他們都有某種數值可以排序我們就可以繼續用模板模式啦~ 首先定義了一個...

技術 [深入淺出設計模式] Ch8 The Template Method Pattern (1) - 模板模式 範例 製作飲料

太久沒寫c++了 來找一下手感所以這次是c++的範例喔~ 這是書中的範例喔,假設今天我們要來寫製作飲品的食譜,分別有茶跟飲料兩種類別 (先省略方法細節): cl...

技術 [深入淺出設計模式] Ch9 The iterator and composite patterns (1) - 迭代器模式和組合模式

書中給了一個好懂的範例,假設我們所在的小鎮有兩間有名的餐廳,Pancake House 跟 Diner。突然有個機會要開一間快閃店,要提供以上兩餐廳的食物分別作...

鐵人賽 自我挑戰組 DAY 3

技術 DAY22: Factory Method 模式

今天我們會介紹 factory method 模式。 起手式:丟出案例。 提供兩個資料庫連結的那個案例 我們在 DAY18 中講到了一個案例: 系統要能夠支援...

鐵人賽 自我挑戰組 DAY 17
設計模式探索 系列 第 17

技術 [Day 17] 命令模式 (1)

遙控器的設計 這章的設計目標是由"遙控器的設計"切入。設想現在有一個好幾個按鈕的遙控器,有2排各n個按鈕,讓使用者設定不同列的按鈕要操控不同...

鐵人賽 Software Development DAY 24

技術 Day 24:Visitor模式(二)

這邊是假設今天有個是要在玩家全部行動完畢時結束回合,而這邊會用Visitor獲取玩家單位的可行動數量+用Observer每次在控制狀態為等待輸入(CALWait...

鐵人賽 自我挑戰組 DAY 24

技術 [Day24] Design Pattern - Memento備忘錄模式

定義 Memento is a behavioral design pattern that lets you save and restore the p...

鐵人賽 自我挑戰組 DAY 3

技術 DAY17: Observer 模式

這篇我們介紹 observer 模式。本篇會涵蓋: 簡介 observer 模式 案例:電子商務的新需求 Observer 模式關鍵特徵 與其他模式的合用...

鐵人賽 自我挑戰組 DAY 3

技術 DAY16: Decorator 模式

本篇將介紹到 何謂 Decorator 模式 回到電子商務案例去看如何使用它 它的關鍵特徵 使用 Decorator 模式該注意到的事 我們開始吧! 何謂...

鐵人賽 自我挑戰組 DAY 8

技術 【從工程師升級成為資深工程師的那檔事Day 8】淺談設計模式

前面的篇章中分享了SOLID五大原則,我們可以在分析、設計時不斷的反思是否有遵循這些原則,不至於到了最後才發現,我們做出一個結構松散的架構。也分享了一些OOA、...

技術 BEM 基礎介紹 DAY41

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

技術 [深入淺出設計模式] Ch7 The Adapter Pattern (7) - 【迪米特法則】範例 超市結帳

沒想到從完賽後荒廢了這麼久XD想說再往下一章看之前 先複習一下前面的觀念順便實作上篇提到的迪米特法則看看⋯⋯假設今天要設計一個簡單的超市結帳系統會需要類別 It...

鐵人賽 自我挑戰組 DAY 3

技術 DAY14: Abstract Factory 模式

今天我們介紹 abstract factory 模式。本篇包括: 簡介此模式 舉例說明 此模式的關鍵特徵描述 簡單來說:abstract factory...

鐵人賽 自我挑戰組 DAY 17

技術 [Day17] Design Pattern - Flyweight 享元模式

前言 今天師父請假在公司自立自強然後主管為我上了堂有趣的產品課😊我還在喜歡上班的階段 好好珍惜😚 定義 Flyweight is a structura...

鐵人賽 自我挑戰組 DAY 14

技術 [Day14] Design Pattern - Composite組合模式

前言 中秋快樂!! 定義 Composite is a structural design pattern that lets you compose...

鐵人賽 自我挑戰組 DAY 7

技術 [Day07] Design Pattern - Factory Method工廠方法模式

前言 今天去拔智齒🥲咬紗布咬了好久還要歪著頭吃粥XD雖然臉頰在發熱但是鐵人還是要繼續!! 今天要講工廠模式了~前三天好像花了有點多時間在實作MVC上,懊惱過...

鐵人賽 自我挑戰組 DAY 1
設計模式探索 系列 第 1

技術 [Day 1] 深入淺出設計模式- 前言

前言 去年的鐵人賽挑戰leetcode連續刷題一個月(Leetcode刷題筆記),熟悉C++的基本語法與邏輯鍛鍊,今年則是希望可以趁這個機會來好好閱讀軟體設計的...

鐵人賽 自我挑戰組 DAY 3

技術 DAY12: Bridge 模式1

今天我們要講的是 Bridge 模式。如同 DAY10, DAY11 的 Strategy 模式,我會分做兩篇:案例討論與應用 Bridge 模式以及實際探討何...

鐵人賽 自我挑戰組 DAY 30
設計模式探索 系列 第 30

技術 [Day 30] To be continued...

心得 雖然還沒把整本書的內容都整理完,但鐵人30已經告一段落~回顧一下這本書總共14章,而這30篇涵蓋了1~8、10章的內容,剩下代理模式、複合模式,以及後面的...

鐵人賽 自我挑戰組 DAY 13

技術 [Day13] Design Pattern - Bridge橋接模式

前言 今天最感動的是我實習的training終於完成了~~🥳這也代表我要開始碰到正式專案了😶‍🌫️ 定義 Bridge is a structural...

鐵人賽 Software Development DAY 13

技術 Day 13:Facade模式

外觀模式(Facade)在GoF 的解釋是:「替子系統定義一組統一的介面,這個高階的介面會讓子系統更容易被使用。」 使用Facade的最大優點,就是將系統內部的...

鐵人賽 自我挑戰組 DAY 6
設計模式探索 系列 第 6

技術 [Day 6] 觀察者模式 (1)

RECAP 有了各種設計模式的定義,就可以用短短的名詞來代表背後的概念,幫助我們在設計程式時有效溝通,準確傳達想法;經由學習這些經過時間考驗與綜合眾工程師智慧的...

鐵人賽 Software Development DAY 21

技術 Day 21:Adapter模式與外接對話框插件

GoF對於轉接器模式 (Adapter)的定義是:「將一個類別的介面轉換成為客戶端期待的類別介面。轉接器模式讓原本介面不相容的類別能一起合作」 Adapte...

鐵人賽 Software Development DAY 22

技術 Day 22:Memento模式

GoF 對備忘錄模式(Memento)的定義是:「在不違反封裝的原則下,取得一個物件的內部狀態並保留在外部,讓該物件可以在日後恢復到原先保留的狀態。」 以存...

鐵人賽 自我挑戰組 DAY 1

技術 [Day01] Design Pattern - 無所不在的設計模式

前言 在開始前先來介紹一下自己的背景~我目前為軟體實習生,因為還沒畢業,開始了我充實(?)的work-study life在onboard沒多久,我的ment...

鐵人賽 Software Development DAY 17

技術 Day 17:Observer模式(一)

GoF對於Observer的定義為「在物件之間定一個一對多的的連結方法,當一個物件變換狀態時,其它關連的物件都會自動收到通知」 你也可以這樣說—Observ...