iT邦幫忙

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

技術 狀態模式(State Pattern) - 17

販賣機 相信大家在外面都有用過飲料販賣機, 假設有一台小王牌飲料販賣機, 販賣機上只有一個販賣按鈕, 一個顯示液晶螢幕, 一個投幣孔, 一個退幣洞和一個出貨洞....

鐵人賽 Software Development DAY 3

技術 [Day3] 虛實之間 就用 React 築起所見即所得的世界吧!

嗨 大家好 我是一路爬坡的阿肥 每次搭高鐵往返老家跟北部的時候,就會想著: 「每次搭車可以省 3 個小時,每年搭個 20 次,這樣一年就幫我省了 60 個小時,...

鐵人賽 Software Development DAY 16

技術 責任鏈模式 - 16

建立一本書處理物件 export class OneBookChainForSale extends ChainForSale { getDiscount(...

鐵人賽 Software Development DAY 2

技術 [Day2] 太陽與月亮 Typescript與Javascript

嗨 大家好 我是一路爬坡的阿肥 今天吃月餅消化的熱量,應該可以讓大腦擠出10天份的文章 不過實際上應該會變成肚子的一部份吧(哭) 先談Javascript J...

鐵人賽 Software Development DAY 1

技術 [Day1] 說個笑話:我要一天學會設計模式

嗨 大家好 我是一路爬坡的阿肥 今天開始跟著阿肥不間斷爬坡吧! 我與設計模式的初遇 四年前有個剛畢業的菜逼八,帶著「WEB前端就是網頁設計」的認知,傻傻地進到...

技術 MVC/Model 2模式、MVP模式和MVVM模式

前言 時間過得很快,距離2019鐵人挑戰賽將近一年了,在這一年間除了持續進行android程式設計的開發之外,也接觸了不少新東西!例如:重構、實作模式、測試驅動...

技術 物件導向程式設計 : 里氏替換原則(LSP)

里氏替換原則(Liskov Substitution principle) 網路上有很多文章與範例在解釋6大原則,但是還是很難只看一篇就能了解。一言以蔽之 :...

技術 物件導向程式設計 : 開閉原則(OCP)

開閉原則 The Open/Closed Principle (OCP) 開閉原則規定「軟體中的對象(類,模塊,函數等等)應該對於擴展是開放的,但是對於修改是...

技術 IOC(控制反轉) , DI(依賴注入) 深入淺出~~

IOC是一個oop重要的程式設計思想。 此文帶著大家初探 IOC(控制反轉) , DI(依賴注入) ~~ 案例解釋: 小明是個愛乾淨的人,但他工作時常加班導致...

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

技術 [ Day 2 ] 初探設計模式 - 工廠方法模式 (Factory Method Pattern)

前言 今天才算是正式進入鐵人賽啦~果然要在工作中還每天生出一篇文章是需要意志力的...今天研討會被講者們轟炸(推銷?)了整天,頭真是有點昏,但是鐵人賽的大家都還...

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

達標好文 技術 [ Day 1 ] 我為什麼想學設計模式 ( Design Pattern )

前言 我目前是android工程師,中途轉職開發軟體有一年左右的時間,雖然工作了也不算短的時間,不過很多時候是找google複製貼上別人的code,或是找現有...

技術 【C#】裝飾者模式(Decorator Pattern)

裝飾者模式是一個很精美且優雅的模式 本篇範例 文字內容->AES加密->Zip檔附加密碼->輸出儲存 情境有個需求要做 文字內容->...

技術 【C#】 AOP輕型框架 AwesomeProxy.Net 介紹使用

今天和大家分享AwesomeProxy.Net小弟開源AOP輕型框架 簡單介紹 AOP (Aspect-Oriented Programming) AOP 是...

鐵人賽 Software Development DAY 30

技術 [Design Pattern] Retrospective 回顧

Retrospective 回顧 JB:呼! 終於到尾聲啦!可是...我們原本預期這30天可以完成30個需求(User Story),可是我們最後只完成了27個...

鐵人賽 Software Development DAY 29

技術 [Design Pattern實例] 使用單例模式實做線性分配器(2/2)

使用單例模式實做線性分配器(2/2) 延續Day28.使用單例模式實做線性分配器(1/2)的需求,我們接下來要開始實作取號的方法。 Sample Codes...

鐵人賽 Software Development DAY 28

技術 [Design Pattern實例] 使用單例模式實做線性分配器(1/2)

使用單例模式實做線性分配器(1/2) 線性分配器(Linear Block Allocator)與高低位分配器(Hi/Lo allocator)皆是在不需要頻繁...

鐵人賽 Software Development DAY 27

技術 [Design Pattern實例] 在ASP.NET Core利用狀態模式來製造View Model

在ASP.NET Core利用狀態模式來製造View Model Scenario 我們在Day26時,利用了建造者模式來製造View Model。在這個例子,...

鐵人賽 Software Development DAY 26

技術 [Design Pattern實例] 在ASP.NET Core利用建造者模式來製造View Model

在ASP.NET Core利用建造者模式來製造View Model Scenario 專案中需要在MVC同一個VIEW上動態依照後端提供的每種產品規格(View...

鐵人賽 Software Development DAY 25

技術 [Design Pattern實例] 在策略模式使用委派解耦合

在策略模式使用委派解耦合 我們在先前的文章已用實例來說明GOF的 Creational design patterns Structural design p...

鐵人賽 Software Development DAY 24

技術 別再因為發號碼牌重複被客訴! (Singleton 單例模式)

Singleton 單例模式 僅將此篇文章獻給我的摯友、導師,Charles,此篇文章參考了大部分他的知識和文章,原文:程湘之間 需求描述 Amy(PO):...

鐵人賽 Software Development DAY 23

技術 察言觀色! 敵不動,我不動! (Observer 觀察者模式)

Observer 觀察者模式 定義 定義對象之間的一對多依賴關係,當一個對象更改狀態時,會自動通知並更新其所有依賴的對象。(WIKI) UML Obse...

鐵人賽 Software Development DAY 22

技術 讓你當一天艾森豪,來指揮諾曼地登陸作戰! (Command 命令模式)

Command 命令模式 1944年,在第二次世界大戰中,同盟國聯軍進攻歐洲北部-法國諾曼第地區的登陸戰役,代號Operation Overlord。這次作戰...

鐵人賽 Software Development DAY 21

技術 你每天在用,但是可能不知道的... (Iterator 迭代器模式)

Iterator 迭代器模式 需求描述 Amy(PO): As a 電商老闆I want 舉辦行銷活動,購物車結帳時: 書籍雜誌:會員相同類別10本以上八折...

鐵人賽 Software Development DAY 20

技術 優惠方案每天變! 購物車怎麼結帳才不會算到手抽筋? (Visitor 訪問者模式)

Visitor 訪問者模式 需求描述 Amy(PO): As a 電商老闆I want 舉辦行銷活動,購物車結帳時: 書籍雜誌:會員相同類別10本以上八折優...

鐵人賽 Software Development DAY 19

技術 別讓老闆和USER再問你好了沒? 隨時更新工作狀態吧! (State 狀態模式)

State 狀態模式 需求描述 Amy(PO): As a 提需求單的使用者I want 需求單管理系統支援在某個需求的狀態改變時,記錄時間並以Email通知...

鐵人賽 Software Development DAY 18

技術 想不起昨天做了什麼? 吃銀杏和記憶口香糖不如試試... (Memento 備忘錄模式)

Memento 備忘錄模式 需求描述 Amy(PO): As a 電子表單使用者I want 系統可以在我填寫表單時,提供記錄草稿的功能,儲存該張表單後,即刪...

鐵人賽 Software Development DAY 17

技術 別再孤軍奮戰! 做好做滿第一件事情先找到能調用資源的人! (Mediator 中介者模式)

Mediator 中介者模式 需求描述 Amy(PO): As a 銀行行員I want 計算客戶評分時,可採用: 各金融商品之評分模型但分別給與權重 各...

鐵人賽 Software Development DAY 16

技術 一樣米養百種人! (Template Method 樣板方法)

Template Method 樣板方法 中文也稱之為範本方法 需求描述 Amy(PO): As a 銀行交易員I want 在衍生性金融商品管理系統可以...

鐵人賽 Software Development DAY 15

技術 老闆說給客戶的報價要有彈性! 但是只能多算不能少算! (Proxy 代理模式)

Proxy 代理模式 需求描述 Amy(PO): As a 物流部秘書I want 報價單系統可以在其他服務費加上更多彈性: 加點: 若單趟載超過兩個點,第...

鐵人賽 Software Development DAY 14

技術 程式碼也需要瘦身! (Flyweight 享元模式)

Flyweight 享元模式 需求描述 Amy(PO): As a 公司官網管理者I want 產品頁面可以更快速的顯示(<=2.0Sec)So tha...