宣传京津风筝网站的建设目的,阿里 网站建设,免费公益主机,网站建设的几个要素这里的土牛是指abp的作者#xff0c;土耳其人#xff0c;简称“土牛”#xff0c;前两天看了他分享的ppt#xff0c;这里做个小笔记。架构分层图一#xff08;abp作者#xff09;图二#xff08;clean架构#xff09;图三#xff08;在朋友圈看到的#xff09;每种架… 这里的土牛是指abp的作者土耳其人简称“土牛”前两天看了他分享的ppt这里做个小笔记。架构分层图一abp作者图二clean架构图三在朋友圈看到的每种架构没有好坏只要是流行的适合自己的就好。一种架构不管是否完全运用DDD思想不重要合理的分层是必须的表现层应用层用例领域层基础设施层领域驱动的核心构件最佳实践Repositories 原则repository 是一个类似于集合的接口可与数据库交互以读取和写入实体在domain layer定义接口在infrastructure中实现不包含domain 逻辑Repository 接口应独立于数据库/ ORM为聚合根而非实体创建repositoriesApplication Services 原则实现应用程序的用例应用逻辑不实现核心domain逻辑获取并返回数据传输对象DTO而不是实体entities在内部使用领域服务实体仓储和其他领域对象。Application Services通用DTO原则最佳实践应该序列化应该有一个无参数的构造函数不应该包含业务逻辑不要从实体继承不要引用实体Input DTO 最佳实践仅定义用例所需的属性不要在多个用例服务方法中重复使用相同的输入DTO。例如ID 在创建的时候不会使用创建和修改不要共享相同的dto密码在更改和ChangeUserName不会使用另外两个最佳实战仅实现形式验证可以使用数据注释属性不包括域验证逻辑例如唯一用户名约束Application ServicesOutput DTO 建议保持输出DTO文件数量最小。尽可能重复使用不能把输入DTO作为输出DTO。可能包含比客户需求更多的属性创建和更新方法返回实体DTO。例外性能至关重要的地方尤其是对于大型结果集。vsApplication Services 对象映射使用自动对象映射库但是请小心–启用配置验证不要将输入DTO映射到实体。将实体映射到输出DTOMultiple Application Layers 多个应用层为每种应用程序类型创建单独的应用程序层。使用单个领域层 共享核心域逻辑。