Tier 各层中的实体
实用派还是学术派,在代码设计中经常各层实体关系有字段重叠和业务重叠,这并不冲突,我们需要根据自己项目的特色来决定,好的设计模式需要和具体的业务模式结合才能发挥1+1 >= 2的效果
Entity (DAL Tier)
DAL层和数据持久化打交道,所有的实体对象在库表中表示都是一条条数据;表达的是DAL 中db数据和实体的映射关系;
DAL层针对entity 会实现对应的 Data Repository,‘数据仓库’主要从代码层面提供和db 交互的方法类,例如:新增、删除、修改、查找等;
Model (Domain Tier)
a hypothetical description of a complex entity or process
BL中的model代表的是业务模型,业务抽象实体;它用来描述bl层的业务逻辑,不用来做数据访问db方面的处理使用
Data model (DTO Presentation tier)
DTO 用来处理展示层的数据,他只关心需要展示什么内容,不关心其他tier的数据模式;展示层的dto也用来做 form(前端表单)的validate(校验);
Domain entity中的数据可能在某些场景中是要保持Domain tier remain private,敏感的,不应该透传到Presentation中
分层示例: