【发布时间】:2017-10-05 20:37:27
【问题描述】:
我正在阅读和学习如何通过遵循 SOLID 和 CRAP 原则来更好地设计应用程序项目。我很容易理解 CRAP 原则。然而,在研究过程中,我遇到了洋葱架构的概念,我很难理解这两个设计概念以及两者之间的差异/相似之处(如果有的话)?
Onion 架构项目是否包含 SOLID 原则?一种方法是否与另一种方法相关?
【问题讨论】:
标签: c# asp.net-mvc onion-architecture
我正在阅读和学习如何通过遵循 SOLID 和 CRAP 原则来更好地设计应用程序项目。我很容易理解 CRAP 原则。然而,在研究过程中,我遇到了洋葱架构的概念,我很难理解这两个设计概念以及两者之间的差异/相似之处(如果有的话)?
Onion 架构项目是否包含 SOLID 原则?一种方法是否与另一种方法相关?
【问题讨论】:
标签: c# asp.net-mvc onion-architecture
洋葱架构与 SOLID 原则相辅相成;这是因为 SOLID 原则侧重于设计而不是架构。
换句话说,洋葱架构专注于将相关(按功能)类组合成层,其中上层中的类依赖于下层中的类。最底层(或基础层)是领域类(那些不经常变化的类),外层是UI、Infrastructure等(即变化最频繁的类)
SOLID 专注于类及其设计方式。单一职责原则显示了类应该如何构建,它们实现的方法应该围绕一个职责展开。开放/封闭原则展示了如何设计类,以使更改需求导致扩展或添加到现有代码而不是修改现有代码。 SOLID 中的其他原理类似。
【讨论】: