2017-05-07 80 views
1

我正在閱讀和學習如何通過遵循SOLID和CRAP原則更好地設計應用程序項目。我對理解CRAP原則非常舒服。然而,在研究的過程中,我遇到了洋蔥建築的概念,而且我很難圍繞2個設計概念以及兩者之間的差異/相似之處進行思考(如果有的話)?洋蔥建築是否包含SOLID原則?

洋蔥體系結構項目是否包含SOLID原則?一種方法與另一種方法相關嗎?

+0

來自叔叔鮑勃本人https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html – Nkosi

回答

2

洋蔥建築是免費的固體原則;這是因爲SOLID原則側重於設計而非架構。

換言之,洋蔥體系結構專注於將相關(按功能)類組合到一起形成圖層,其中上層圖層中的類依賴於較低圖層中的類。最低層(或基本層)是域類(不頻繁更改的那些類),外層是UI,基礎結構等(即更改頻率最高的類)

SOLID重點關注課程以及它們的設計方式。單一職責原則顯示了應該如何構建類的方法,它們所實施的方法應該圍繞着一個責任。開放/封閉原則顯示了應如何設計類,以便更改需求會導致對現有代碼進行擴展或添加,而不是修改現有代碼。 SOLID中的其他原則是相似的。