Pikachu

Overload (多載) vs. Override (覆寫) — (II)

在 上篇 中,介紹了 Overload (多載) 的種類及實作技巧, 接下來則要討論 — Override (覆寫)!   儘管強調兩者的差異,它們仍息息相關 🤔, 皆是實踐 多型 (polymorphism) 的技術之一, 善用這些技巧,才能有效實作彈性、可擴充的程式!   […]

overload-vs-override

Overload (多載) vs. Override (覆寫) — (I)

Overload (多載) 與 Override (覆寫) 為程式設計的 2 個常見性質, 對 物件導向程式設計 (OOP) 尤其重要。   或許是原文相似的關係,兩者時常令初學者搞混 😨, 不然就是對其了解只停留在: 「多個相同方法名稱」、「改寫父類別方法」…,而不懂實際運用。 &nb […]

subscribe

發佈/訂閱模式 vs 觀察者模式

觀察者模式 (Observer Pattern) 與發佈/訂閱 (Publish/Subscribe, Pub/Sub) 都描述「狀態或事件改變後通知關心它的人」,但不是可任意互換的同義詞。   GoF 的 Observer(也稱 Dependents)通常是 Subject 直接持有 Observ […]

binoculars

觀察者模式 (Observer Pattern)

觀察者模式 (Observer Pattern) 是 GoF 的行為型設計模式:建立物件間一對多的依賴,Subject 狀態改變時通知已註冊的 Observer。 Define a one-to-many dependency between objects so that when one object c […]

command-pattern-class-diagram

命令模式 (Command Pattern)

命令模式 (Command Pattern),GoF 23 種設計模式其一,行為型, 又稱為 指令、 action (動作)、transaction (交易) 模式, 其定義: Encapsulate a request as an object, thereby letting you parameteri […]

ioc-di-dependency1

控制反轉 (IoC) 與 依賴注入 (DI)

IoC/DI : IoC — Inversion of Control,控制反轉 DI — Dependency Injection,依賴注入   IoC,是一種 設計原則: 藉由 『分離組件 (Components) 的設置與使用』,來降低類別或模組之間的耦合度 (i.e. […]

hierarchy

依賴反向原則 (Dependency-Inversion Principle, DIP)

依賴反向原則 (Dependency-Inversion Principle, DIP), [dɪˋpɛndənsɪ] [ɪnˋvɝʃən] [ˋprɪnsəp!], 又譯為:相依性反向、依賴反轉原則,是物件導向系統程式中, 五個基礎設計原則 『 S […]