我正在阅读并了解如何通过遵循SOLID和CRAP原则更好地设计应用程序项目。我很了解CRAP原则。然而,在研究过程中,我遇到了洋葱建筑的概念,我很难绕过2个设计概念和两者之间的差异/相似之处(如果有的话)?
洋葱架构项目是否包含SOLID原则?一种方法是否与另一种方法相关?
答案 0 :(得分:2)
Onion架构与SOLID原则互补;这是因为SOLID原则专注于设计而非架构。
换句话说,Onion架构专注于将相关(按函数)类分组到层中,其中上层中的类依赖于较低层中的类。最低层(或基础层)是域类(那些不经常更改的类),外层是UI,基础结构等(即最常更改的类)
SOLID专注于课程及其设计方式。单一责任原则显示了如何根据实施的方法构建类应围绕一个责任。开放/封闭原则显示了如何设计类,以便更改需求导致扩展或添加到现有代码而不是修改现有代码。 SOLID中的其他原则类似。