如何Email模式,从不同的领域对象或数据映射图案?
-
01-07-2019 - |
题
我一直在寻找 DataMapper, 出现在第一眼看到使用Email对象的图案。其他人说,它使用的DataMapper和/或领域对象的图案。
之间的区别是什么这些模式?
解决方案
之间的主要区别两种模式的是这样的:
在Email你有一个领域对象,既知道所有的业务逻辑和如何保/更新自己的数据库,用户。getLinkToProfile()and User::找到(1)、用户::save(用户)
在DataMapper图案你有一个领域对象,持有的所有商业逻辑,对于用户使用。getLinkToProfile()(或类似的东西),但知道 没有什么 有关数据库的问题,除了这个你必须映射器-的对象是负责保存、更新选择,等等。用户对象的数据库,这将有UserMapper::找到(1),UserMapper.保存(用户)
DataMapper是潜在的更为复杂,然后Email但这是一个很容易发展领域模型和数据库步然后用Email.
其他提示
活动的记录是非常沉重的,数据映射器和领域对象是分离了这些关切,所以你有一个更明确的代码这样做的各方面对于你"域名"或"实体"的对象。
我个人喜欢,不是说你要求,与分离进入领域对象、数据映射器,可能使用大会的模式,甚至一个数据传输模式,以确保明确分离,会发生什么要数据之间的一个数据库上层的应用程序。
...和简单的离职总是有帮助。
不隶属于 StackOverflow