我在应用程序中的对象名称有些问题。例如,任何ORM(NHibernate或实体框架)生成的类都称为域对象?实体?模型对象?他们是DAO吗?它们之间有什么区别?
由于
答案 0 :(得分:1)
表示数据库表的类称为域,通常每个表都有一个域类(多对多关系表除外)。
要将此域类映射到您的实际数据库,您将(通常再次)为每个域类创建一个映射类,当您声明该表时,应将每个域成员映射到的不同数据库字段。
您现在拥有一个数据访问层(DAL),用于选择,更新,插入或删除映射到您数据库的域类。
但是,如果您构建一个使用DAL的应用程序,您肯定会使用DTO或模型。模型是要在应用程序中显示的对象,通常与域不同。它可以是字段的格式,删除纯数据库字段的数据子集,两个不同域的合并。
因此,您的应用程序只会操作DTO(或模型),当应用程序创建/更新/删除DTO时,您的服务器将管理DTO和域之间的转换。
DATABASE< => MAPPING< => DOMAIN< => DTO