有違開閉原則的功能實現

2021-08-26 02:19:18 字數 466 閱讀 2986

先簡單說說開閉原則的定義:

開閉原則(open-closed principle, ocp):乙個軟體實體應當對擴充套件開放,對修改關閉。即軟體實體應盡量在不修改原有**的情況下進行擴充套件。

上週我實現乙個功能擴充套件時就違反了這條原則,具體是我通過修改部隊行軍的型別達到自己的擴充套件需求。在打包前審**的時候,一老人發現,立馬把我新增的**遮蔽,然後再讓我改。

在功能擴充套件的需求中,策劃並沒有要求增加新的行軍型別,而是細分某種行軍型別要有特殊的表現。於是我實現的時候也按照這思路,對行軍型別細分。但是我沒有考慮到原有的邏輯是正常的,而我細分後的卻不一定,需要我和策劃把細分的行軍型別重新測試。我和策劃都沒關注這點,只關注了這次修改要求增加的特殊表現,結果是細分的行軍型別果然有問題。

修改方案也很簡單:不對行軍型別進行細分(不修改原有的行軍型別),而是用乙個額外的新字段標記需要特殊表現的型別,在需要特殊處理的時候判斷是否有該新字段即可。

開閉原則的理解

開閉原則,軟體實體應當對擴充套件開放,對修改關閉 是要達到乙個狀態,而要達到這個狀態,就需要在寫 的過程中要想到和做到。提倡開閉原則,其目的是我們在編寫 的時候就要考慮到每個功能模組的潛在的變化的可能性,盡可能的寫簡短單一功能並且復用性強的模組。只有在寫 的時候注意到了這些,在重構或者變更的時候,才...

OO設計的開閉原則

the open closed principle ocp oo設計的開閉原則 software entities classes,modules,function,etc.should be open for extension,but closed for modification.軟體實體 模...

設計模式中的開閉原則

原則 乙個軟體實體對擴充套件開放,對修改關閉。如何做到開閉原則?開 閉 原則從另乙個角度講述,就是所謂的 對可變性的封裝原則 對可變性的封裝原則 講的是找到乙個系統的可變元素,將之封裝起來。總結 找到乙個系統的可變元素,將它封裝起來。黎克特制替換原則 原則 任何基類可以出現的地方,子類一定可以出現。...