一直以来对MVC结构中的Model层很不理解。
虽然Model层封装了一些方法,在查询和属性访问的时候提供了一些便利,但是实战中更多感受到的是Model层带来的限制,用起来十分别扭。
之前继承的一个工程师的框架,只在MC层上使用了框架带的工具,Model层则全部放弃,全部自己通过SQL来实现,灵活性极高。
现在想起来,到底什么时候才该使用Model层?
我的理解是,当数据是一个稳定的对象的时候,为它建一个Model才是值得的。如常见的User,Post之流。而如果后台某个表不能抽象成对象的话,使用Model则会有很多痛苦,因为你的查询会非常多样化,这时候Model提供的查询工具就十分难用。
如果我们把Model理解成一个对象,数据库中的信息则是这个对象的实例。构建Model层可以方便我们访问数据库中的实例的属性,并在此基础上定义一些对象常用方法。
感觉Model层确实不是必须的,数据对象可以不封装。当后面感觉到不封装的痛苦的时候,可以再回头考虑构建Model层的事情。
时间: 2024-11-14 09:12:44