是有可能有一个基于MVC的基于web架构的布局,其中SOA是架构风格。或者换句话说,服务可以是MVC.If的M,V,C的一部分吗,那么,什么类型的服务可以包含在每个服务中。另外,你能给我一个真实的例子吗?
发布于 2010-11-06 07:22:22
在SOA应用程序中,通常不包括前端(表示层)。您在MVC应用程序中使用这些服务,或者在MVC应用程序使用的单独“模型”项目中使用这些服务。
数据访问->业务逻辑->服务->模型-> MVC
重点是使用服务来围绕应用程序的基础创建抽象,以允许多个客户端使用这些服务。
发布于 2010-11-08 19:45:06
我倾向于将客户端/表示层中表示的模型称为ViewModel,它只是模型的表示层视图。在面向服务的体系结构中不需要实际的域model.This,因为模型使用者的上下文经常变化
在for中,我们试图为契约建立一个规范的模式,因为很可能不是现在和将来的所有客户端都需要完全相同的模型视图。
因此,无论是web客户端、服务客户端还是桌面客户端,如果您将MVC中的模型视为ViewModel,这将允许您将表示层的内容从服务层的内容中抽象出来,从而更接近于规范的模式。
因此,示例视图>>控制器>> ViewModel(模型) >>数据合同>>服务
在这里可以找到如何构建这样的服务堆栈的示例:
SOA Design Pattern
决定是使用REST架构还是使用完整的WS-* SOAP是一个单独的问题,不应该影响您选择MVC作为表示模式。
当然,可能还有其他限制,排除了其中之一的使用。
为微软平台上的新web开发或企业web开发选择一种表示模式是一项艰巨的任务,在我看来只有三种:视图模型、模型-视图-演示者(MVP)或ASP.NET MVC ( Model2的衍生物)。
你可以在这里阅读全文ASP.NET MVC Patterns
发布于 2010-11-06 07:26:48
这取决于您对SOA的定义。
如果你正在寻找像REST服务这样的东西,那么MVC模式实际上工作得很好。请求是资源的HTTP位置,它被传递到控制器,控制器通过模型加载数据,然后将其传递给视图,视图以所需的任何形式(JSON、XML、二进制等)返回数据。或者,您通常可以直接返回结果,这取决于您使用的框架。
埃里克
https://stackoverflow.com/questions/4110898
复制相似问题