从标题来看,我认为这是一个直截了当的问题,但在研究“商业对象世界”时,我似乎无法确定任何商业对象应该是什么。是否有我应该遵循的最佳实践,甚至是任何设计模式?
我找到了一本书“专家C#Business Objects”,这是我最好的理解点吗?
答案 0 :(得分:5)
业务对象是指与其所代表的实体关联的业务行为或数据。
在应用程序中,您拥有执行应用程序应该执行的操作的代码(业务内容)和技术上允许其运行并与用户交互的代码。例如,在MVC模式中,业务内容将是Model的工作。
我认为this更好地解释了它。您还可以查看MVC模式并查看每个层的责任。一旦你理解了这一点,就会更容易看出什么是“业务对象”。
答案 1 :(得分:4)
业务对象是域模型的元素部分。
什么是域名模型?域模型从现实世界的角度描述了您的系统所做的工作。域模型描述了元素之间的逻辑关系以及它们之间的约束。
业务对象,业务吸引,或者只是实体是某种可交换的术语。有关软件解决方案在现实世界中的用途,可以是client
,account
,documents
等。这可以是您的解决方案应该解决的问题。
然后排除纯粹的技术对象,这些对象仅用于解决实现问题。
我们使用术语实体,因为这些元素存在于软件之外(它们存在)。换句话说,该软件是这些元素的代表。
请参阅:
答案 2 :(得分:1)
也许一个具体的例子可能有所帮助。假设您正在编写菜单规划应用程序。这里的业务对象可能是Menu,Ingredient,UserAccount,Invoice--那些封装了业务模型逻辑的对象。
不是业务对象的东西会包括MenuForm,Database,Transaction等。
答案 3 :(得分:1)
我仍然无法100%了解业务对象(BO)与数据传输对象(DTO)的区别。
在我看来,DTO只包含数据,而BO包含数据和处理数据的代码?!
所以一个BO可以“包含”多个DTO的数据,对吗?
答案 4 :(得分:0)
业务对象是表示业务实体的对象,可选地可以包含业务逻辑。