理解洋葱架构
本文关键字:洋葱 | 更新日期: 2023-09-27 18:13:46
我正在努力掌握Onion Architecture的重要概念,在阅读了一篇文章后,我问了自己一个问题。查看下图所示的架构中的Domain: http://tonysneed.files.wordpress.com/2011/10/onion-proj.jpg?w=282&h=494
分离域的实用性是什么?实体和领域。在两个独立的项目中的接口,而不是有一个具有实体和接口文件夹的域项目?我不是很有经验,但我没有看到一个场景,有人会感谢上帝,他有领域实体和领域接口分离…
如何使接口定义可以作为开源发布到客户机,而实现仍然是专有的?这只是我们需要的众多原因之一。
三个非常好的理由,这些理由在您获得图像链接的文章中已经讨论过了:
- 可测试性。单元测试数据上下文操作在该上下文中。 <
- 可维护性/strong>。维护业务逻辑而不影响数据访问逻辑,反之亦然。 长寿
- 。ORM技术要么改进,要么消亡(就像Linq-to-SQL一样),您可以自由地将整个数据上下文替换为新的数据上下文,而不会对业务逻辑造成严重破坏。