2011-04-15 45 views
1

如何確保課堂的可維護性?它可以簡單地通過使用設計模式創建類來完成,還是還有其他一些涉及?另外,一個好方法的特點是什麼?一流的可維護性

回答

5

遵循SOLIDDRY原則,你不會做得不好。

固體:

SRP單一職責原則 的概念,對象應該只有一個單一的責任。

OCP
打開/關閉原理 「軟件實體...應該打開以進行擴展但關閉以進行修改」的概念。

LSP
里氏替換原則 的概念,即「程序中的對象應該是可替換他們的亞型的情況下,不改變該程序的正確性」。另請參閱按合同設計。

ISP
界面偏析原理 的概念,即「多客戶端專用接口比一個通用接口更好。」 [5]

DIP
依賴倒置原則 的概念,即一個應「取決於抽象。不依賴於結核。「[5] 依賴注入是遵循這一原則的一種方法。

DRY代表不要重複自己,這意味着您應該努力消除代碼中的任何重複。

+0

+1雖然我會用「最少SurPrise原則」替換「Liskov替換原則」(包括它);-) – 2011-04-15 20:10:05

+0

感謝您的回覆 – collegian 2011-04-15 20:14:07

1

付出很大的努力,以確保您有一個良好的界面。一旦你有了,你可以完全重寫這個類,如果你願意的話,不會影響項目中的其他代碼。如果你的班級如此之大,以至於你無法輕易改寫它,那麼這也是一個問題。

儘管Oded的答案對於確保程序或庫的可維護性很好,但這個問題是關於類的可維護性,因此,只有兩個需求...良好的接口和強大的內聚性。