iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0

SOLID組成:
單一職責原則 Single Responsibility Principle,SRP
● 開放閉合原則 Open Closed Principle,OCP
● 里氏替換原則 Liskov Substitution Principle,LSP
● 介面隔離原則 Interface Segregation Principle,ISP
依賴反轉原則 Dependency Inversion Principle,DIP

開放閉合原則
定義:Software entities(classes, modules, functions, etc.) should be open for extension but closed for modification.
目的:預測擴展點,使系統在不修改原始碼情況下就可以被輕易擴展。
舉個生活的例子:
仍然以超市為例子,現在的電子支付很發達,又因為疫情的推力,使更多人加入電子支付,但各家都有自己的一套系統,所以當設計到支付系統時程式碼應該會出現很多if-else語句或switch case,而此處就可以預測未來可能會新增其它支付方式,透過一個主介面讓其它支付方式實作這個介面。
以上就是系統在不修改原始碼情況下就可以被輕易擴展,透過將系統化分為一系列組件再將組件依賴關係進行組織,找到擴展點,所以說OCP為軟體架構設計主導原則,由預測擴展點處(介面)著手設計來降低修改所影響的範圍(實作介面延伸系統)。

天佑台灣(這兩天強震太多)/images/emoticon/emoticon02.gif


上一篇
SOLID設計原則 – 單一職責原則
下一篇
SOLID設計原則 – 依賴反轉原則
系列文
寫寫歷年職場經歷過的大小事或近期所學習的知識啟發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言