软件开发中的库(library)与mvc中的model有什么区别和联系?

新手上路,请多包涵

如题,似乎两者都是把一些可以复用的代码封装起来,然后由程序调用?

阅读 3.1k
2 个回答

库是针对一个 主题(topic) 而做的功能的集合,比如在 Java 世界中, 一般我们会说fast-json是一个快速处理jsonjar包,处理json 就是这个包(库)的主题;

MVC 是一种分层架构,它的 Model 实质上只是数据的封装,它的重点在于数据,而没有所谓的 主题,你可以在 Model 上附带一些简单的操作方法,但严格意义上 Model 只应该负责描述数据。

从概念上来说,它们两个是完全不同层次的东西,库的确是有封装代码以达到复用的目的;
MVC 中的 Model,也许你可以写一个基础的模型 BaseModel 来做一些所有业务模型都需要、都可能做的事(比如从某种数据来源中创建模型实例)来做到一定程度上的复用,可Model本身仍然不含有任何 复用 的性质。

library和model最大的不同在于有无牵涉到业务逻辑。library是不牵涉到具体的业务逻辑的,而model就不行的。
MVC中的model是对数据库操作的一层抽象封装,既然有了数据操作,可以认为是业务相关的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进