我一直在研究 martin fowler 的企业架构模式中存储库模式部分简要描述的规范模式,以及网络上的几个示例。然而,几乎所有的示例/描述都是通过利用 ORM 和 IsSatisfiedBy 等方法创建的,这些方法由规范对象执行(并且可能由 ORM 转换为 SQL)。
我可以看到如何调整它以与 SQL 一起使用,但由于普遍缺乏 SQL 示例,我想知道人们是否将此模式与 SQL 数据访问层和存储库模式一起使用,以及他们的经验/方法如果是的话,或者可能更适合该任务的任何替代方案(如果有)。
对于清洁架构,您有以下限制:
- 规范写在应用层或领域层
- 数据库实体和 SQL 只允许在基础设施层使用
因此,您需要编写您的规格
如果您没有使用 ORM,则使规范模式发挥作用所缺少的部分是从规范和域实体到 SQL 和数据库表的映射。
实体框架基于约定、属性或 Fluent API 开箱即用地执行此操作。
你可以
- 查看提供此功能集的其他库,或者
- 自己实现某种抽象,或者
- 打破 Clean Architecture 并在规范中使用 SQL。
不幸的是,我还没有进一步探索这些选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)