iT邦幫忙

物件導向相關文章
共有 130 則文章
鐵人賽 Software Development DAY 24

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

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

鐵人賽 Software Development DAY 24

技術 Composite 合成模式

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

鐵人賽 Software Development DAY 23

技術 IT鐵人DAY 23-Command 命令模式

  今天要學習的是Command Pattern,我個人覺得它的實用性蠻高的,也覺得它很好理解,如果有實作過一堆按鈕的表單,就會覺得它非常好用。 問題情境與解...

鐵人賽 Software Development DAY 23

技術 Bridge 橋接器模式

今天的橋接器模式,和昨天的轉接器模式一樣,都是非常常見的模式,可能我們不自覺當中都會使用到。話不多說,我們就先來看例子吧! 這裡有一個 Shape 類別,定義了...

鐵人賽 Software Development DAY 22

技術 IT鐵人DAY 22-Mediator 中介者模式

  今天要介紹的模式Mediator,與上一篇Facade的結構有點雷同,不過Mediator是屬於行為型模式,作用不太一樣,現在就來了解Mediator在做甚...

鐵人賽 Software Development DAY 22

技術 Adaptor 轉接器模式

今天開始要介紹 Structural patterns。先前的 Creational patterns 著重在如何根據不同的問題建立一個新的物件,而 Struc...

鐵人賽 Software Development DAY 21

技術 IT鐵人DAY 21-Facade 外觀模式

  今天要介紹的模式是屬於結構型模式的一種,我個人覺得他還蠻簡單的,有點像是程式碼中的主要窗口,現在就來看看它會做哪些事吧! 問題情境與解析   Facade...

鐵人賽 Software Development DAY 21

技術 Prototype 原型模式

今天來介紹 Creational Patterns 當中的最後一個模式。 假設這裡有一個 Engineer 類別,他除了有個 name 屬性之外,還擁有 too...

鐵人賽 Software Development DAY 20

技術 IT鐵人DAY 20-Proxy 代理模式

  今天要介紹的模式是屬於結構型模式的一種,此模式的名稱我想大多數的人都聽過或是知道它是做甚麼用的,而它所做的事情就像它的名子一樣,那就是Proxy! 問題情...

鐵人賽 Software Development DAY 20

技術 Builder 建造者模式

如果今天我們想要開一間飲料店,飲料的組合包含了茶、糖,還有牛奶,於是我們可以建立一個 createTea 方法,並依據傳入的參數,來決定最後的產品 class...

鐵人賽 Software Development DAY 19

技術 IT鐵人DAY 19-Flyweight 享元模式

  一講到Flyweight,它最主要工作就是要減少記憶體的使用量,至於要怎麼做來能達到這樣的效果呢?現在就讓我們藝起來了解吧! 問題情境與解析   大家在使...

鐵人賽 Software Development DAY 19

技術 Abstract Factory 抽象工廠模式

延續上一篇文章的例子,我們除了想要訓練出 baseball player 之外,也希望他能夠同時擁有一些裝備,像是合適的棒球衣以及棒球鞋。 所以這裡我們在 Ba...

鐵人賽 Software Development DAY 18

技術 Factory 工廠模式

今天要來聊聊 Creational Patten 當中的工廠模式。 當我們透過類別建立出實例的時候,其實感覺就像是一個工廠生產出了產品。而同一個工廠 (類別),...

鐵人賽 Software Development DAY 18

技術 IT鐵人DAY 18-Adapter 適配器模式

  今天介紹的Adapter Pattern是屬於結構型模式,以字面上來說不難猜到它是用來讓物件與物件之間能夠協同合作,至於它是怎麼運作的,現在就一起來認識吧!...

鐵人賽 Software Development DAY 17

技術 IT鐵人DAY 17-State 狀態模式

  今天介紹的State Pattern與昨天的Strategy Pattern非常的相似,不過它們之間到底有沒有甚麼差別呢?現在就帶你一起來了解! 問題情境...

鐵人賽 Software Development DAY 17

技術 Singleton 單例模式

首先,先來看看一個簡單、特殊的創造物件的模式。 In software engineering, the singleton pattern is a sof...

鐵人賽 Software Development DAY 16

技術 IT鐵人DAY 16-Strategy 策略模式

  Strategy是屬於Behavioral Patterns的其中一種,我個人覺得這個模式非常好用,今天就帶給大家認識認識! 問題情境與解析   假設有個...

鐵人賽 Software Development DAY 16

技術 回顧 SOLID 設計原則

在前面的五篇文章當中,我們提到了 SOLID 設計原則,分別為 單一功能原則 Single Responsibility Principle 開放封閉原則 O...

鐵人賽 Software Development DAY 15

技術 IT鐵人DAY 15-Bridge 橋接模式

  今天要介紹的Bridge Pattern,當初在學習的時候就覺得這個 Pattern 很有意思,實用性感覺非常高,現在就帶你來認識它吧! 問題情境與解析...

鐵人賽 Software Development DAY 15

技術 介面隔離原則 Interface Segregation Principles

最後,我們來到了 SOLID 當中的介面隔離原則。這裡我們先舉先前提到過的 BaseballPlayer and TennisPlayer 的例子。 由於兩個類...

鐵人賽 自我挑戰組 DAY 29
C# 雞礎觀念 系列 第 29

技術 [Day29]C# 雞礎觀念- 物件導向(oop)~介面(Interface)

書同文,車同軌,聽說召喚惡魔時,需要與惡魔簽訂契約,契約內容雙方都得遵守,C#也擁有跟類別簽訂契約的功能 介面(Interface) 在介面命名中大家習慣以I...

鐵人賽 Software Development DAY 14

技術 IT鐵人DAY 14-Decorator 裝飾者模式

  今天要介紹的Decorator Pattern,跟昨天的Composite Pattern都是屬於Structural Pattern,你可能會發現它們的C...

鐵人賽 Software Development DAY 14

技術 里氏替換原則 Liskov Substitution Principle

今天來談談 SOLID 當中的里氏替換原則,同樣的先來看一下例子。 延續先前的例子,公司持續拓展,滿足更多不同使用者的需求。現在公司決定,讓使用者可以在建立實例...

鐵人賽 自我挑戰組 DAY 28
C# 雞礎觀念 系列 第 28

技術 [Day28]C# 雞礎觀念- 物件導向(oop)~ 繼承(Inheritance)

在人類中,基因肯定是世世代代在傳承,下一代除了接收了上一代的基因之外,可能還會偷偷的進化,C#中也是如此,我們就來一探究竟C#演化的奧妙吧 繼承概述 繼承的概...

鐵人賽 Software Development DAY 13

技術 IT鐵人DAY 13-Composite 組合模式

  今天要來介紹Composite Pattern,是屬於Structural Design Pattern的其中之一,現在就來認識一下吧! 問題情境與解析...

鐵人賽 Software Development DAY 13

技術 依賴反轉原則 Dependency Inversion Principle

在上一篇文章當中我們談到開放封閉原則,這裡我們要來談談依賴反轉原則 Dependency inversion principle。先不談定義,先來看範例。 延續...

鐵人賽 Software Development DAY 12

技術 IT鐵人DAY 12-Prototype 原型模式

  前幾天介紹的都是屬於Creational Patter,今天要來介紹最後一個位,也就是Prototype! 問題情境與解析   假設今天有個複雜的物件,你...

鐵人賽 Software Development DAY 12

技術 開放封閉原則 Open-Closed Principle

在上一篇文章當中,我們提到「單一功能原則」,指每一個類別只會因為一種原因被修改。那麼,如果真的遇到需求變動、需要修改的時候,我們該如何「修改」呢? SOLID...

鐵人賽 Software Development DAY 11

技術 IT鐵人DAY 11-Builder 建立者模式

  一看到Builder就知道它是屬於Creational Pattern,那它可以用來解決什麼問題呢?現在就來認識一下Builder這個模式吧! 問題情境與...

鐵人賽 Software Development DAY 11

技術 單一功能原則 Single Responsibility Principle

關於物件導向程式設計的五個設計原則,大家可能會依據不同的順序來解釋,不過我想「單一功能原則」一定會被擺在首位。 這個原則由 "Uncle Bob&qu...