我正在尝试使用ASP MVC框架创建网站。一些文档使用IRepository模式来抽象将发送到视图进行呈现的信息,而其他人建议使用ViewModel(如MVVC)。 这两者有什么区别? 它们不是相同的概念吗? 提前感谢。
存储库模式更多地涉及数据如何持久化和从数据库检索,而ViewModel模式是一个定义如何将数据绑定到UI的UI模式。一个在数据库层面上,一个在UI层面上,因此它们在这方面完全不同。要了解“存储库模式”,请阅读 此文;要了解MVVM,请阅读 此文。
仓库模式和视图模型模式完美配合:视图模型可以访问仓库,而视图与视图模型绑定。 仓库 -> 视图模型 -> 视图 有些示例可能会省略视图模型部分,但在实际应用中直接在视图中使用仓库是关注点分离方面的不良做法。