2010-01-31 52 views
2

背景C#业务对象架构问题有关商业和DTO对象

我们有我们自己的业务对象架构,这是轻得多(...基于松散,但一点儿也不实​​际使用...)具有类似用法,验证,包含DAL等的“CSLA”业务对象框架的版本。生成所有代码(使用CodeSmith存储特效和业务对象)

业务对象相当丰富, ,使用过滤器排序参数列表返回对象和通用列表。

这种架构可能不会订阅某种特定的或流行的体系结构和纯粹主义,但它适用于我们并减少了大量的手动编码。

我们发现很多东西,特别是与其他系统(第三方,Flash或Silverlight等)集成时,需要上下文化的“基本对象”或数据容器,这些容器可以轻松地序列化并通过Web服务等提供一个特定的目的。

环顾SO和网络,Term DTO出现了很多。我们在Dto名称空间中创建了这些Basic对象,这些对象是表示Business Objects的基本或特定版本的基本对象,但除了接受DataRow或Business Object来填充“Dto”对象的构造函数外,没有其他功能。

问题:

1)这是一个叫 “DTO” 对象是否正确?

2)而不是具有构造以提供数据并设置对象属性,应该人群代码是不同的类,某种“助手类”

对术语和命名约定的任何意见我正在尝试做什么?

谢谢

回答

2

1)是的。

2)我看不出什么大问题,尽管你们有限制DTO的使用。但我再次看到它没有什么大问题。有一个映射框架,你可以用它来为你做到这一点,你可以在这里找到http://www.lostechies.com/blogs/jimmy%5Fbogard/archive/2009/01/22/automapper-the-object-object-mapper.aspx

+0

谢谢你的信息。我已经添加了一个方法到业务对象(用户可配置的部分类)以获取DTO对象/列表,以保持DTO对象尽可能为空。 – 2010-01-31 14:32:12