本文同步分享於個人blog 今天來到了第三個原則,里氏替換原則。個人覺得這個原則稍稍複雜些,所以今天篇幅會比較長,範例程式碼也比較多,麻煩耐著性子看完囉XD...
嗨 大家好 我是一路爬坡的阿肥 每次搭高鐵往返老家跟北部的時候,就會想著: 「每次搭車可以省 3 個小時,每年搭個 20 次,這樣一年就幫我省了 60 個小時,...
準備開發環境 我們將在Visual Studio Code進行程式碼編輯及執行。程式碼將放Github。 C# 使用.NET Core的Class librar...
嗨 大家好 我是一路爬坡的阿肥 今天是Happy Friday! 也是適合寫鐵人賽文章的好日子喔(疑?) Storybook 簡介 今天阿肥要先插個花,介紹一...
分治法(Divide and conquer) 又稱分而治之法,是最常被使用的策略方式,原理是將一個難以直接解決的大問題,依據相同的概念分割成多個子問題,再各個...
在上一節,透過描述我們看到controller class在被產生instance過程中,其中IActionInvokerFactory 會被Resolve成...
在策略模式使用委派解耦合 我們在先前的文章已用實例來說明GOF的 Creational design patterns Structural design p...
在進入Pattern的介紹之前,我覺得要先讓大家認識一下UML這個東西,尤其是Class Diagram,了解UML以後就可以更快的吸收一個程式是如何運作的...
Builder 建造者模式 需求描述 Amy(PO): As a 公司入口網站產品經理I want 各BU在公司入口網站首頁看到屬於部門之資訊So that...
本文同步分享於個人blog 定義 The Adapter Pattern converts the interface of a class into...
Facade 外觀模式 Facade 稱為外觀或表面模式,不過比較常聽到英文說法;請聽一下這個單字的念法吧! 需求描述 Amy(PO): As a 資料分...
開閉原則 The Open/Closed Principle (OCP) 開閉原則規定「軟體中的對象(類,模塊,函數等等)應該對於擴展是開放的,但是對於修改是...
此文同步於個人Blog 前一天我們認識了Design Pattern以及知道了為何要使用Design Pattern。而在介紹及使用Design Pattern...
本文同步分享於個人blog 定義 依賴反轉原則(DIP)的定義有兩點: 1. High-level modules should not depend...
閱讀本篇文章前,仔細想想看 泛用類別與泛用介面結合時的注意事項為何? 如果還不清楚可以看一下前一篇文章喔~ 其實筆者在泛用方面的型別推論與機制並沒有討論很...
文同步分享於個人blog 定義 將多個物件連成一條鏈,沿著這條鏈傳遞至每一個物件並處理請求。 舉一個責任鏈模式在現實生活中的例子,就是公司員工請假。一...
本文同步分享於個人blog 終於到了最後一個Design Principle了。若對其他Design Principle不熟悉的,可以先看前面的文章喔!!...
使用單例模式實做線性分配器(1/2) 線性分配器(Linear Block Allocator)與高低位分配器(Hi/Lo allocator)皆是在不需要頻繁...
Flyweight 享元模式 需求描述 Amy(PO): As a 公司官網管理者I want 產品頁面可以更快速的顯示(<=2.0Sec)So tha...
Visitor 訪問者模式 需求描述 Amy(PO): As a 電商老闆I want 舉辦行銷活動,購物車結帳時: 書籍雜誌:會員相同類別10本以上八折優...
本文同步分享於個人blog 合成是什麼?聚合又是什麼?他們與繼承差在哪??? 定義 盡量使用組合(contains-a)/聚合(has-a)方式來代替...
Template Method 樣板方法 中文也稱之為範本方法 需求描述 Amy(PO): As a 銀行交易員I want 在衍生性金融商品管理系統可以...
本文同步分享於個人blog 定義 提供一個建立一系列相關或者相互依賴物件的介面,而無需指定它們具體的類。 簡單來說就是 提供一個介面,用來建立相關的...
閱讀本篇文章前,仔細想想看 還記得存取修飾模式(Access Modifiers)有哪些嗎? 你有想過 private 除了類別成員與類別的靜態屬性與方法...
里氏替換原則(Liskov Substitution principle) 網路上有很多文章與範例在解釋6大原則,但是還是很難只看一篇就能了解。一言以蔽之 :...
本文同步分享於個人blog 在昨天終於把所有的Design Principle給講完了,今天開始進入Design Pattern。首先是創建型模型,其中單例模式...
閱讀本篇文章前,仔細想想看 還記得單例模式 Singleton Pattern嗎?今天會用到喔! 本篇文承接上一篇文,因此如果是跳到這篇的話可以先從上一篇或...
Mediator 中介者模式 需求描述 Amy(PO): As a 銀行行員I want 計算客戶評分時,可採用: 各金融商品之評分模型但分別給與權重 各...
Command 命令模式 1944年,在第二次世界大戰中,同盟國聯軍進攻歐洲北部-法國諾曼第地區的登陸戰役,代號Operation Overlord。這次作戰...
今天挑選Composite模式來度過2017年最後一天! 祝福IT邦幫忙的大大們新年快樂 :P Composite 組合模式 需求描述 Amy(PO): As...