我正在为最新项目使用AngularJS。在文档和教程中,所有模型数据都放入控制器范围。我知道控制器必须可用,因此必须在相应的视图内可用。
但是我不认为该模型应该在那里实际实施。它可能很复杂,并且具有私有属性。此外,可能要在另一个上下文/应用程序中重用它。将所有内容放入控制器中完全破坏了MVC模式。
任何模型的行为都一样。如果我要使用DCI体系结构并将行为与数据模型分开,则必须引入其他对象来保存行为。这可以通过介绍角色和上下文来完成。
DCI == d ATA Ç ollaboration 我 nteraction
当然,可以使用简单的javascript对象或任何“类”模式来实现模型数据和行为。但是AngularJS会怎么做呢?使用服务?
所以归结为这个问题:
遵循AngularJS最佳实践,如何实现与控制器分离的模型?