iT邦幫忙

design pattern相關文章
共有 479 則文章
鐵人賽 Modern Web DAY 29

技術 Day 29. 機動藍圖・工廠模式 X 抽象工廠 - Factory Method & Abstract Factory Pattern Using TypeScript

閱讀本篇文章前,仔細想想看 大致上已經了解抽象類別的運用性質與情境了嗎? 另外本篇會延續前一篇的範例,除了可以參考前一篇外,筆者本篇會再進行簡單的敘述!...

鐵人賽 Software Development DAY 12

技術 Day 12 - 指令系統 - Unlight 解析指令的陷阱

現在已經從伺服器跟客戶端了解到了發送跟接收的步驟,不過伺服器的如何發送到客戶端並接和處理收似乎是還沒有討論過。不過因為使用相同的規則解析實際上差異並不大。 雖然...

鐵人賽 Modern Web DAY 27

技術 Day 27. 機動藍圖・策略模式 X 臨機應變 - Strategy Pattern Using TypeScript. II

閱讀本篇文章前,仔細想想看 大致上理解策略模式以及應用類別與介面進行實踐。 另外本篇會延續上一篇的範例,因此沒有看過可以先翻看前一篇的文章喔! 廢話不多說...

鐵人賽 Software Development DAY 11

技術 [Day11] BABY 你就是我唯一 ─ 獨體(Singleton)

嗨 大家好 我是一路爬坡的阿肥 今天的文章對阿肥來說好輕鬆呀~ 接下來每個模式都那麼好懂就好了(不可能) 前言 在社會、法律道德的規範之下,有些個體希望只存在...

鐵人賽 Software Development DAY 10

技術 [Day10] 吃壹LAN就是要硬麵加半熟蛋 ─ 建設者(Builder) <實作篇>

嗨 大家好 我是一路爬坡的阿肥 今天是鐵人賽的第 10 天,已經過了 1/3 了! 最近發現寫文章卡最久的不是寫 code 而是在找歌跟想開場白(整個劃錯重點)...

鐵人賽 Modern Web DAY 26

技術 Day 26. 機動藍圖・策略模式 X 選擇策略 - Strategy Pattern Using TypeScript. I

閱讀本篇文章前,仔細想想看 類別繼承與介面綁定的差別在哪裡?能夠描述它們各自的優缺點嗎? 如果還沒理解完畢的話,可以先翻看前一篇的文章喔! 筆者本來沒有要...

鐵人賽 Software Development DAY 9

技術 [Day9] 吃壹LAN就是要硬麵加半熟蛋 ─ 建設者(Builder) <模式篇>

嗨 大家好 我是一路爬坡的阿肥 阿肥在想好今天的標題後... 突然超級嘴饞想吃一蘭決定鐵人賽結束後去吃一波! 情境描述 肥肥是個標準的哈日族,每年一定會去日本...

鐵人賽 Software Development DAY 8

技術 [Day8] 聖上說選 3 份奏摺各複寫 500 張 ─ 雛型(Prototype) <實作篇>

嗨 大家好 我是一路爬坡的阿肥 最近天氣的關係加上拼命寫文章 睡眠品質好到一直爬不起來(眼神死) 羨慕一天只需要睡3小時就精神飽滿的人 今日文章適合搭配範例專...

鐵人賽 Modern Web DAY 23

技術 Day 23. 機動藍圖・私有建構子 X 單身狗模式 - Private Constructor & Singleton Pattern

閱讀本篇文章前,仔細想想看 還記得存取修飾模式(Access Modifiers)有哪些嗎? 你有想過 private 除了類別成員與類別的靜態屬性與方法...

鐵人賽 Software Development DAY 7

技術 [Day7] 聖上說選 3 份奏摺各複寫 500 張 ─ 雛型(Prototype) <模式篇>

嗨 大家好 我是一路爬坡的阿肥 如果看到這篇,表示阿肥撐過了第一個禮拜 也就是一個月的 1/4,168 個小時,10080 分,604800 秒!接下來也要繼續...

鐵人賽 Software Development DAY 20

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

實踐好每一種狀態物件之後, 接下來在VendingMachine 類別物件中, 初始化現在的狀態 class VendingMachine { priva...

鐵人賽 Software Development DAY 6

技術 [Day6] 老闆:來一碗大腸麵線 ─ 工廠方法(Factory Method) <實作篇>

嗨 大家好 我是一路爬坡的阿肥 最近天氣開始有點涼爽,騎車去上班瀏海也不分岔了~上班族小確幸++ 今日文章適合搭配範例專案的packages/day06-c...

鐵人賽 Software Development DAY 6

技術 Day 06 - 指令系統 - Unlight 的指令處理(一)

在上一篇我們了解指令是如何從封裝後客戶端發送到伺服器,我們依舊不清楚 Unlight 是如何將指令的內容轉換成可以被程式執行的動作。因此我們還需要了解 Unli...

鐵人賽 Software Development DAY 5

技術 [Day5] 老闆:來一碗大腸麵線 ─ 工廠方法(Factory Method) <模式篇>

嗨 大家好 我是一路爬坡的阿肥 突然想到雙十連假要去澎湖渡假敲開心~(灑花) 啊 等一下!(是真的突然想到) 那不就表示就連在澎湖也要記得發文嗎 ? 情境描述...

鐵人賽 Software Development DAY 5

技術 Day 05 - 指令系統 - Unlight 指令結構分析

在我們能跟伺服器溝通後,就需要來定義伺服器跟客戶端如何發送跟接收對方所傳遞的資料。以 HTTP 協定來說就是一種溝通的方式,伺服器跟瀏覽器都已預先定義好的格式發...

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

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

技術 【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...