Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 什么定义了业务对象_Design Patterns_Business Objects - Fatal编程技术网

Design patterns 什么定义了业务对象

Design patterns 什么定义了业务对象,design-patterns,business-objects,Design Patterns,Business Objects,从标题上看,我认为这是一个直截了当的问题,但纵观“业务对象的世界”,我似乎无法确定业务对象应该是什么。是否有我应该遵循的最佳实践,甚至任何设计模式 我找到了一本书,“Expert C#Business Objects”,这是我更好地理解业务对象的最佳起点吗?业务对象是指与其所代表的实体相关联的业务行为或数据 在应用程序中,您有执行应用程序应该执行的操作(业务操作)的代码,以及技术上允许该操作运行并与用户交互的代码。例如,在MVC模式中,业务人员将是模型的工作 我想这更能说明问题。您还可以查看MV

从标题上看,我认为这是一个直截了当的问题,但纵观“业务对象的世界”,我似乎无法确定业务对象应该是什么。是否有我应该遵循的最佳实践,甚至任何设计模式


我找到了一本书,“Expert C#Business Objects”,这是我更好地理解业务对象的最佳起点吗?

业务对象是指与其所代表的实体相关联的业务行为或数据

在应用程序中,您有执行应用程序应该执行的操作(业务操作)的代码,以及技术上允许该操作运行并与用户交互的代码。例如,在MVC模式中,业务人员将是模型的工作


我想这更能说明问题。您还可以查看MVC模式,了解每一层的职责。一旦您了解了这一点,就可以更容易地看到什么是“业务对象”。

也许一个具体的例子会有所帮助。假设您正在编写一个菜单规划应用程序。这里的业务对象是菜单、成分、用户帐户、发票等,这些对象封装了业务模型的逻辑


非业务对象包括菜单、数据库、事务等

业务对象是域模型的元素部分

什么是域模型?域模型从现实世界的角度描述系统的功能。域模型描述元素之间的逻辑关系和它们之间的约束

业务对象业务实体,或简单的实体都是某种程度上可交换的术语。这是指软件解决方案在现实世界中所代表的内容,可以是
客户端
帐户
文档
,等等。这可以是您的解决方案应该解决的任何问题

这就排除了纯技术对象,这些对象只用于解决实现问题

我们使用术语实体,因为这些元素存在于软件之外(它们存在)。换句话说,软件就是这些元素的表示

见:


业务对象是表示业务实体的对象,可以选择包含业务逻辑。

我仍然无法100%理解业务对象(BO)与数据传输对象(DTO)的区别

在我看来,DTO只包含数据,而BOs包含数据和处理数据的代码


因此,一个BO可以“包含”多个DTO的数据,对吗?

感谢您提供这些信息。这当然是一个比我最初想象的范围更大的领域。你可能会对另一个问题感兴趣:这里的错误是“业务对象”一词语法不好,而英语中的名词和动词在写作中无法区分,导致了固有的混淆。恰当地说,“object”应该是“object”(动词形式),主语/动词一致性规则规定“business”应该是“business”。因此,这个术语应该是“业务对象”,你可以在标题中看到,比如“业务对象正确的编程实践”。或者我在编故事。由你决定。引用的维基百科文章与Rockford Lhotka在其书或书中解释的其他流行的业务对象定义相反。业务对象和模型代表不同的关注点,不应视为同义词。