.net 构建应用程序时需要的帮助

.net 构建应用程序时需要的帮助,.net,web-applications,.net,Web Applications,我们新应用程序的拟议架构如下所示 表示层 这将是一个在移动设备上运行的ASP.NET MVC应用程序 服务层 这将是一个WCF服务。表示层使用自定义DTO与服务通信 业务逻辑层 这是一个普通的c#类库,所有与业务相关的逻辑都是在这里编写的。该层向服务层公开业务对象。服务层使用实体转换器将中的业务对象转换为DTO 数据库访问层 为此,我们计划使用EF4.1。我们希望有存储过程支持。因此,计划采用模型优先的方法 这是我们的架构,我有以下问题 我们可以将这两者结合起来,而不是将业务对象和实体分开

我们新应用程序的拟议架构如下所示

  • 表示层 这将是一个在移动设备上运行的ASP.NET MVC应用程序

  • 服务层 这将是一个WCF服务。表示层使用自定义DTO与服务通信

  • 业务逻辑层 这是一个普通的c#类库,所有与业务相关的逻辑都是在这里编写的。该层向服务层公开业务对象。服务层使用实体转换器将中的业务对象转换为DTO

  • 数据库访问层 为此,我们计划使用EF4.1。我们希望有存储过程支持。因此,计划采用模型优先的方法

这是我们的架构,我有以下问题

  • 我们可以将这两者结合起来,而不是将业务对象和实体分开。这是一个好方法吗
  • 因为客户端是基于web的,所以可以使用自跟踪实体吗
  • 可以给我发送一些关于如何优化性能的链接
而不是拥有业务对象 和实体分开,可以吗 把这两者结合起来。这是个好主意吗 方法

存储过程支持并不是先使用模型的理由——我倾向于先使用代码,因为它使您从工具中获得更多自由

既然客户端是基于web的,是吗 是否可以使用自跟踪实体

如果是基于网络的。。你为什么要为自我跟踪实体而烦恼。。?您可以一次性提交更改。正如上面所说:

仅在以下情况下使用自跟踪实体: 对象上下文在上不可用 对象更改所在的层 制作了图形。如果对象上下文 如果可用,请使用EntityObject派生 类型或“普通旧”CLR对象 (POCO)类型或POCO代理类型。对于 有关详细信息,请参见使用 对象

如前所述,我倾向于使用POCO,因为从长远来看,它更容易使用

可以给我发送一些关于如何 优化性能

优化性能是一项长期任务,取决于您正在做什么或您正在解决的问题。。但一般来说,您会希望尽量减少对有线的使用—从web服务器到数据库的有线或从移动客户端到web服务器的有线

还请注意,关于此主题还有一些问题,例如:


谢谢您的评论。将通过链接