控制器操作可在许多页面上使用

时间:2014-07-19 06:59:17

标签: model-view-controller reusability

好的,所以我对MVC很陌生,但过去几周我读了很多关于它的事情,现在开始了我的第一个相当大的项目。依赖注入,胖模型,模板,每个控制器一个视图......我想要的最先进的MVC。

现在有一个问题我无法理解。 正如我正在建立一个网上商店,我做的例如几乎每一页都显示购物车。当然,用户可以与该购物车互动。

现在,如何避免在每个处理此用户交互的控制器中执行操作?

我知道这可以通过ajax来完成,但我们假设我想在没有它的情况下完成。所以我的意思是:

/索引/ addtocart / 25

/浏览/ addtocart / 25

/购物车/ addtocart / 25

/ shoppinglist / addtocart / 25

这些应该都是一样的,对购物车模型采取相同的行动,但当然会显示不同的观点。 我希望我清楚我的意思。

也许我认为这是错误的方式,所以任何帮助都会受到赞赏。感谢。

1 个答案:

答案 0 :(得分:-1)

看看可以被视为模型的服务; singletons具有包含数据和逻辑的全局范围,并为任意数量的控制器提供接口。您的控制器可以以不同的方式与服务交互,同时影响同一对象,并且视图也可以显示他们喜欢的数据。这是一个很好的大纲:https://stackoverflow.com/a/11938785/3003102。此外,如果您查看路由(ui-router),您还可以看到视图与URL的关系。