當您需要設計模塊時,您通常會如何處理?到目前爲止,我已經注意到它的使用簡單,API的直觀性,可擴展性,性能以及類似的東西。如何去設計一個模塊?
但是看起來相當簡單和直截了當可能對其他用戶來說似乎過於複雜。雖然它不經常發生,但它有時會發生在我們所有人身上(我希望)。
除了我已經提到的問題之外,在開始編碼之前,在設計類層次結構/ API /任何內容之前,您是否應該問自己?
如果您認爲該問題更適合於其他部分,請隨時遷移它,但我仍然希望得到答案。
乾杯。
當您需要設計模塊時,您通常會如何處理?到目前爲止,我已經注意到它的使用簡單,API的直觀性,可擴展性,性能以及類似的東西。如何去設計一個模塊?
但是看起來相當簡單和直截了當可能對其他用戶來說似乎過於複雜。雖然它不經常發生,但它有時會發生在我們所有人身上(我希望)。
除了我已經提到的問題之外,在開始編碼之前,在設計類層次結構/ API /任何內容之前,您是否應該問自己?
如果您認爲該問題更適合於其他部分,請隨時遷移它,但我仍然希望得到答案。
乾杯。
你的問題是一個非常好的一個,以及一個有答案,但如此複雜,答案基本上是在編程經驗。
製作軟件有一般原則,但我想在這裏,在這個簡短的回答中,我可以給你一個你可以應用的概念。軟件是一個領域的代表(例如銀行軟件是爲了定製金融系統而制定的,或者雷達軟件是根據雷達檢測的想法和原則制定的)。因此,軟件就像一個理論:它完全符合你的領域的當前知識,允許推論和擴展。如果有更多的知識可用,理論應該擴展,拋光或更廣泛地適應這種新知識,同時仍然保持以前知識的有效性。
因此,所有關於理論的概念適用於:
所以,軟件應該是簡約而不是太多,美觀但實用。
當談到實施這些方向時,我建議你花時間學習你的域名。你不能模擬你不明白的東西。學習基礎知識,從簡單的事情開始,然後逐步完善它們。你偶爾會看到有些東西在錯誤的地方「感覺到」。問問你自己的問題如
偉大的答案,謝謝。我知道這有經驗,但我沒有那麼多,所以我試圖去理解這些概念。 –
您應該考慮SOLID Principles和here。
而且有關責任分配新建分配FY申請GRASP Patterns
這不是代碼相關=它屬於程序員.stackexchange.com – jgauffin