我是MVC的新手并且搜索了很多关于它的内容,以下是我在Stackoverflow上发现的内容。 1.在客户端使用angularJS ---> NodeJS,Rails很适合在服务器端使用,因为它们具有某些优点。
现在我有一个问题: - 甚至spring是一个MVC框架,但是我可以使用 Servlet和Angular JS 并用它实现MVC吗? 提前致谢。
答案 0 :(得分:1)
Angular并不关心你在服务器端使用它只是希望能够在请求体中发送JSON编码数据并获得JSON编码的响应。所以简短的回答是肯定的。关于MVC,在整个客户端框架本身中基本上使用了这种设计模式的层,在服务器端通常我只有从数据库加载数据的代码(或更新/插入/删除数据)然后对其进行编码并将其发送到客户端。这样,服务器基本上与客户端分离,可以重写或附加/补充服务器而不替换它们。
MVC只是意味着模型视图控制器,它是用于划分代码的设计模式。模型本身就是数据,是更新视图的“真实来源”,控制器负责对模型进行更改,模型的当前状态始终反映在视图中。
传统上,对于Spring MVC,服务器将负责使用控制器完全处理请求,该控制器更新模型,然后生成交付给客户端的视图。
使用Angular,您可以使用AJAX请求从服务器获取数据,然后更新模型(通常通过控制器作为服务/工厂的角色代理),然后以角度绑定/监视更新视图
因此,在angular的情况下,您的服务器端不负责创建视图,而只负责持久化数据(以及处理身份验证和授权)。在您的服务器端,您可能仍然维护一个与数据库中的某个模式相对应的模型,或者您可能有一些路由处理层,您可以将其视为对模型起作用的服务器端控制器,您只是没有真正处理完全是这个观点。
这种方法对最终用户和开发都有很多好处。您可以单独测试后端和前端,您可以重构或替换任何一个或构建其他前端(本机客户端等)或添加后端模块而不会打扰客户端。您唯一需要注意的是在客户端和服务器组件之间保持一致的接口。
答案 1 :(得分:1)