[JAVA SOLID]Open/Closed Principle

Even
Feb 1, 2021

--

OCP: Open/Closed Principle 開放封閉原則

簡單來說就是 開放擴充 封閉內部修改

直接來看Code

不滿足OCP 原則

  • 建立interface CalculatorOperation
  • 建立Addition 並實作 CalculatorOperator
  • 建立Subtraction 並實作CalculatorOperator
  • 建立Calcuator 物件

到這裡已完成 Calculator 要去做計算 加減的程式
OCP 原則 為開放擴充 封閉修改內部
注意如果我們今天要在多增加 “乘除” 計算式就得修改Calculator
如此一來便違反了OCP原則.

接下來我們修正一下原始碼讓他符合OCP原則

滿足OCP原則

  • 增加抽象層行為 perform
    讓Object 都得實作perform 計算行為

如此一來便滿足OCP 開放擴充 封閉內部修改原則

假設要擴充Multiply 只需要增加 Multiply 物件而不用修改到Calculator.

Reference from: https://www.baeldung.com/java-open-closed-principle

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response