iT邦幫忙

design pattern相關文章
共有 479 則文章
鐵人賽 自我挑戰組 DAY 17

技術 [Dot Net Core] (延伸應用) 17. 為何使用 Dot Net Core 框架 - 解耦服務於 MicroService

在一些微服務的規劃中,微服務類似將單體系統切割成多個高內聚的獨立模組,且服務與服務間鬆耦合。 假設在單體系統,改了某個業務邏輯與相關的程式,卻於另外一個功能模...

鐵人賽 Software Development DAY 5

技術 【DAY5】學設計模式,WHY?

前面幾天提到物件導向範型以及基礎的UML圖,相信大家應該對物件導向有基本的認識了,所以話說回來,為什麼我們要學習設計模式(Design Pattern)呢? 來...

鐵人賽 Software Development DAY 4

達標好文 技術 【DAY4】UML (統一建模語言)

UML是一種建立程式模型的圖形語言,可以想像成是帶有語意的圖形記號,圖可以分成兩大類,一種是表達結構用的圖,而另一種是表達行為用的圖形,所有分類如下圖所示。...

鐵人賽 Software Development DAY 3

技術 【DAY3】什麼是物件導向範型?(下)

讓我們延續上一篇的例子~ 學生不僅僅是學生 假設現在的學生不僅僅是一般大學生了,還包含研究生,現在要他們交作業,但不同類型的學生要交的作業不同,做的事情也不一樣...

鐵人賽 Software Development DAY 2

技術 【DAY2】什麼是物件導向範型?(上)

範型定義 範型(paradigm),即為典型範例 - 標準結構化程式設計比較異同的方式,可以想像成一種程式設計風格。常見的範型還有:函數式程式設計、指令式程式設...

鐵人賽 自我挑戰組 DAY 12

技術 [Dot Net Core] (圖解系列) 12. 以最簡單方法驗證架構中 Resolved Singleton 特性

在上一節,透過描述我們看到controller class在被產生instance過程中,其中IActionInvokerFactory 會被Resolve成...

鐵人賽 Software Development DAY 1

技術 【DAY1】初心者前言

這是第一次參加IT鐵人賽,也是我剛入軟體業的第一年,對於物件導向以及程式架構也都還是懵懵懂懂,所以希望能夠藉由這次的參賽,讓我對於 OOP & Desi...

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

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

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

技術 Backend System in Microservice Architecture: Where Does data store?

Backend System in Microservice Architecture: Where Does data store? At recent ye...

技術 為什麼 CQRS - Why CQRS

為什麼 CQRS - Why CQRS CQRS (Command Query Responsibility Segregation) 命令查詢職責分離模式,在...

技術 【Day35】[演算法]-常見的演算法策略Algorithmic Patterns

分治法(Divide and conquer) 又稱分而治之法,是最常被使用的策略方式,原理是將一個難以直接解決的大問題,依據相同的概念分割成多個子問題,再各個...

鐵人賽 Software Development DAY 30

技術 IT鐵人DAY 30-學習物件導向與Design Pattern之心路歷程

  終於來到了最後一天,希望看完前29篇文章的人能夠把所學的知識內化,當寫程式的時候有碰到什麼問題,可以先想想看有什麼方法能夠優化現階段的程式,並且減少不必要的...

鐵人賽 Software Development DAY 30

技術 Observer 觀察者模式

今天要談到的觀察者模式也是很常見的一個模式,常出現在有兩個以上需要互相溝通的物件之間 問題 假設有個物件 A 想要獲得物件 B 的更新資訊,但實際上 A 不知道...

鐵人賽 Software Development DAY 29

技術 IT鐵人DAY 29-Template Method 模板模式

  今天要要介紹最後一個 Behavioral Patterns,也就是Template Method,我想大多數的人看到這個名字就可以約略的猜到這個模式是用來...

鐵人賽 Software Development DAY 29

技術 Command 命令模式

當一個請求 (request) 進入系統之後,通常我們就會立即的處理它。但如果我們不想這麼直接的去處理這些請求,而是先讓這些需求排隊、依序進入,甚至做一些預先處...

鐵人賽 Software Development DAY 30
Hey! Go Design Patterns 系列 第 30

技術 DAY 30:Strategy Pattern,選定不同的策略來執行

2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Strategy Pattern? 設計相...

鐵人賽 Software Development DAY 28

技術 IT鐵人DAY 28-Observer 觀察者模式

  今天要學習的是觀察者模式,它主要的作用是設定一個訂閱機制,當被訂閱的物件有發生事件時就會去通知所有訂閱的物件,現在讓我們來認識它吧! 問題情境與解析   ...

鐵人賽 Software Development DAY 28

技術 Chain of Responsibility 責任鏈模式

今天開始進入到 Behavioral design patterns,這一類的模式著重於物件之間的溝通與責任分配,就讓我們接下去一起看看吧 Chain of R...

鐵人賽 Software Development DAY 29
Hey! Go Design Patterns 系列 第 29

技術 DAY 29:Iterator Pattern,迭代各種不同的物件

2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Iterator Pattern? 將不同...

鐵人賽 Software Development DAY 27

技術 IT鐵人DAY 27-Visitor 訪問者模式

  今天要認識的Design Pattern我覺得比較難,但我會盡量以簡單的方法讓大家了解 Visitor Pattern是如何運作的,現在就來學習一下吧!...

鐵人賽 Software Development DAY 27

技術 Facade 外觀模式

在 Structural patterns 當中,最後要來談的是外觀模式。 外觀模式提供我們一個簡單方便的操作介面,其背後幫我們實現了複雜的操作。這樣的模式其實...

鐵人賽 Software Development DAY 28
Hey! Go Design Patterns 系列 第 28

技術 DAY 28:Command Pattern,將動作已指令一個一個完成

2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Command Pattern? 將建立指...

鐵人賽 Software Development DAY 26

技術 IT鐵人DAY 26-Memento 備忘錄模式

  今天要學習的模式我覺得很有趣,學完以後很常拿它用來做 undo、redo 的功能,因為它的功能就是用來保存和恢復物件的狀態的,現在就來認識一下吧! 問題情...

鐵人賽 Software Development DAY 26

技術 Proxy 代理模式

今天要談到代理模式,其實跟昨天的裝飾器模式很類似。代理模式的目的在於,因應某些條件替換物件原本的行為。 同樣用昨天的例子,這裡有 BookPrinter 可以把...

鐵人賽 Software Development DAY 27
Hey! Go Design Patterns 系列 第 27

技術 DAY 27:Chain of Responsibility,將實作透過串串樂串起來

2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Chain of Responsibilit...

鐵人賽 Software Development DAY 25

技術 IT鐵人DAY 25-Iterator 迭代器模式

  今天要認識的迭代器模式我個人覺得需要多花一點心思,才能夠了解它並善用它,程式當中也算是經常使用的設計模式,現在就一起來認識它吧! 問題情境與解析   假設...

鐵人賽 Software Development DAY 25

技術 Decorator 裝飾器模式

今天要介紹的裝飾器模式,跟之前提到過的轉接器模式有點類似(但其實結果完全不一樣)。 轉接器模式的功能在於將讓現有的物件可以透過轉接器,能夠實現自己沒有的介面或功...

鐵人賽 Software Development DAY 26
Hey! Go Design Patterns 系列 第 26

技術 DAY 26:Proxy Pattern,讓代理人操作實際的物件

2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Proxy Pattern? 讓代理物件操...

鐵人賽 Software Development DAY 24

技術 IT鐵人DAY 24-Chain of Responsibility 責任鏈模式

  今天要認識的模式是Chain of Responsibility,屬於Behavioral Design Pattern,它的名字很長,我覺得很好認,而且也...

鐵人賽 Software Development DAY 24

技術 Composite 合成模式

今天要來介紹一個比較特別、平常可能不太常見的模式。就讓我們直接進入問題吧 問題 假設有間百貨公司週年慶,為了回饋會員,決定發送福袋給大家。在福袋當中,會放入價值...