关于MVC框架中的Model的理解

一直以来对MVC结构中的Model层很不理解。

虽然Model层封装了一些方法,在查询和属性访问的时候提供了一些便利,但是实际使用中更多感受到的是Model层带来的限制,用起来十分别扭。

之前继承的一个工程师的框架,只在MC层上使用了框架带的工具函数,Model层则全部放弃,自己通过SQL来实现,灵活性很高。

现在想起来,到底什么时候才该使用Model层?

我的理解是,当数据是一个稳定的对象的时候,为它建一个Model才是值得的。如常见的User,Post之流。而如果后台某个表不能抽象成对象,或者对象特性不稳定的时候,使用Model则会有很多痛苦。因为你的查询会非常多样化,这时候Model提供的查询工具就十分难用。

不妨把Model理解成一个内存外的对象,数据库中的信息则是这个对象的实例。构建Model层可以方便我们访问数据库中的实例的属性,并在此基础上定义一些对象常用方法。

感觉Model层不是必须的,数据对象可以不封装。当然MVC的分层也不是必须的,只是封装Model层带来的限制更明显。当后面觉得不封装Model带来的痛苦无法忍受的时候,可以再回头考虑构建Model层的事情(当然重构其他代码也很痛苦就是了)。

 

转载于:https://www.cnblogs.com/oDoraemon/p/7782299.html

你可能感兴趣的:(测试,运维,后端)