我对DTO没什么担心。我正试图为我的asp.net网站创建4层架构。我将有DTO,BLL,DAL和演示层。
如果有其他建议,请告诉我。提前谢谢你的帮助。
发布于 2011-11-22 21:09:25
您只需要在需要将一个简单对象(可能从DAL存储库(其中您的DTO =一个表、存储过程结果或视图结果)传递给域/ BLL对象时才需要DTO,该对象很可能是一个提供域的逻辑视图的聚合对象,而不是数据库中的一个到一个映射。这一切都取决于你是如何‘成长’你的申请。
如果你有很多类似的DTO,那么使用像AutoMapper这样的工具是个好主意--它将节省你大量的时间来编写无聊的映射代码。
发布于 2011-11-22 20:46:31
有些人坚持要为您发出的每一次服务呼叫设置单独的DTO。根据逻辑的复杂性,这可能会导致100多个不同的DTO。
我更喜欢一种通用方法,在DTO和域实体之间建立一个DTO模型,其中DTO与域实体之间具有1-1的对应关系。在这种方法中,您将拥有100个DTO表。如果您使用任何工具自动创建代码(Codesmith,T4),则创建DTO层非常容易。
另一个需要注意的是,返回复合结果可以使用一个通用的DTO容器来保存DTO类:
http://netpl.blogspot.com/2010/12/generic-dto-model-and-other-silverlight.html
(本节从“通用DTO模型”开始)
https://stackoverflow.com/questions/8233506
复制相似问题