我正在建立一个ASP.Net MVC 3应用程序,它利用:
- jQueryUI的许多UI部件/控制CRUD操作
- 现有的基于SOA的系统(使用DDD概念构建)。这包括针对读取操作进行优化的服务(请参阅CQRS)。这些服务是RESTful(托管在IIS/Appfabric中),因此可以通过来自javascript的简单HTTP请求访问。这些服务也可以通过引用服务二进制文件并从控制器访问(或者当然,通过层来将Controller与服务分离等)来直接使用。
问题
是以往任何时候都适合于执行,例如,通过直接使用现有的RESTful API从JavaScript,而不是调用控制器方法则使服务调用读操作?或者我们应该总是使用Controller方法进行任何类型的CRUD操作?
参与讨论
- 似乎打破,说你不应该绕过一个层
- 在另一方面的规则,如果我们总是利用控制器它,然后觉得有些多余的,我们正在包装这个服务基本上在另一个RESTful API中使用ASP.Net MVC。
我的直觉,当我开始看这是我们最终会写入控制方法的一些操作,其中或许页输出(视图)的操作是最容易当我们在模型中的数据。然后会出现其他操作,例如,可能会抽出一个员工列表进行简单查找,这样就不需要使用Controller方法,并且可以直接访问我们现有的RESTful API。感觉混乱,有些开发人员会对何时直接使用Controller方法或现有的RESTful API感到困惑。
任何想法或建议,将不胜感激。
谢谢。
+1,完全同意。尽管这两种方式都有效,但从长远来看,一致性会让生活更轻松。你不必向新开发人员解释为什么有些东西通过控制器,有些则不通过。如果您在几年后回到项目中,您也不必尝试记住自己该做什么。 – Tridus 2011-06-08 10:18:08
谢谢。正如你所提到的,这是开放的辩论,但我接受这个答案,因为我只是欣赏一些意见。 – tidmutt 2011-06-29 17:02:46