design pattern 以java 為例

Design pattern

軟體工程中一種對於常見問題的解決方案的標準化描述,簡單講就是人家想好的高效範本

分類

SOLID原則

SOLID原則是面向對象設計和程式開發中的一組五個基本原則,旨在促進軟體的可讀性、可維護性和擴展性

  • 單一職責原則(Single Responsibility Principle, SRP)
    每個類應該只有一個引起它變化的原因。這個原則強調,一個類應該專注於單一的職責或功能。當一個類承擔過多的職責時,它在面對修改的需求時將變得脆弱和不靈活。

  • 開放封閉原則 (OCP: Open Closed Principle)
    軟體實體(類、模塊、函數等)應該對擴展開放,對修改封閉。這意味著一個實體允許其行為以擴展的形式被增加,但是不應該修改現有的代碼。

  • 里氏替換原則(Liskov Substitution Principle, LSP)
    子類別應該能夠替換它們的基類別(父類別)而不影響程式的正確性。這個原則強調繼承的正確性,子類應當能夠完整地實現父類的行為。

  • 介面隔離原則(Interface Segregation Principle, ISP)
    不應該強迫客戶依賴於他們不使用的接口。這個原則鼓勵創建細分的接口,讓實現類只需要關心它們真正需要的方法,減少不必要的依賴。

  • 依賴倒置原則(Dependency Inversion Principle, DIP)
    高層模塊不應該依賴於低層模塊,它們都應該依賴於抽象;抽象不應該依賴於細節,細節應該依賴於抽象。這個原則鼓勵依賴於抽象類或接口,而不是具體類,從而降低系統各部分之間的耦合度。

創建型模式(Creational Patterns)

創建對象時隱藏創建邏輯的方式,而不是使用new關鍵字直接實例化對象。

  • Singleton(單例模式)
  • Factory Method(工廠方法模式)
  • Abstract Factory(抽象工廠模式)
  • Builder(建造者模式)
  • Prototype(原型模式)

結構型模式(Structural Patterns)

關注類和對象的組織,如何將類或對象組合成更大的結構。它們幫助確保系統的一部分更改不會影響到系統的其他部分,從而使系統更容易開發和維護。

  • Adapter(適配器模式)
  • Composite(組合模式)
  • Proxy(代理模式)
  • Facade(外觀模式)
  • Bridge(橋接模式)
  • Decorator(裝飾模式)

行為型模式(Behavioral Patterns)

對象間的通信,為對象間的通信提供更靈活的方式

  • Observer(觀察者模式)
  • Strategy(策略模式)
  • Command(命令模式)
  • State(狀態模式)
  • Visitor(訪問者模式)
  • Mediator(中介者模式)
  • Iterator(迭代器模式)

SOLID

推薦課程

https://www.udemy.com/course/design-patterns-java/

接下來會以課程範例危機底去延伸每個pattern 的應用及實際code


design pattern 以java 為例
https://shengshengyang.github.io/2024/03/30/design-pattern/
作者
Dean Yang
發布於
2024年3月30日
許可協議