当前位置:  开发笔记 > 编程语言 > 正文

业务对象与实体

如何解决《业务对象与实体》经验,为你挑选了3个好方法。

业务对象和实体之间是否存在差异?

如果我要定义一个POCO类的类,比如一个Product类,那么它是业务对象还是实体?

public class Product {
    public int ID { get; set; }
    public string Name { get; set; }
    public double Price { get; set; }
    public string Sku { get; set; }
}

请注意,此对象中没有任何功能.



1> DancesWithBa..:

我称之为DTO(数据传输对象).我也曾经看过它们被称为"物业类".我不会将它称为业务对象,因为它没有行为,根据定义,BO是由它们的行为定义的.


这与维基百科所说的相矛盾:http://en.wikipedia.org/wiki/Business_object - "虽然程序可以实现类,通常以管理或执行行为的对象结束,但业务对象通常不执行任何操作,但拥有实例变量或属性集"

2> moffdub..:

所有实体都是业务对象,但并非所有业务对象都是实体.

实体是业务对象,其身份不是由其属性定义,而是由标识符定义,如产品ID.

不是实体的业务对象的示例可以是Color.颜色从其RBG值中获得其身份.

当然,我指的是域驱动设计中的实体和价值对象.



3> Pawel Krakow..:

我认为它们是相同的,尽管如果您在业务层中有一些类似控制器的类(在您的域模型上运行),它们可能不会被称为实体.我会说像Product这样的类既是业务对象又是实体,而ProductController只是一个业务对象.实体表示域模型对象 - 用户,书籍,汽车等,也包含自己的数据.我认为这只是一个命名问题并不重要,我倾向于互换使用这两个术语,但通常会使用我上面描述的"规则".

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有