Answers
说说我的理解:
最底层的是引擎,比如数据库引擎,模版引擎,提供一个统一的接口,目的是方便移植到不同的环境。
引擎之上,直接与数据库打交道的是数据模型,用来读写数据库,同时整理检索出的数据(非必须,看如何抽象了),对将要写入数据的合理性、完整性、权限等进行检查,这层将数据抽象为变量及方法。数据模型只关心数据。一般的,一个模型直接与数据库中的一个表对应。
然后是控制器,负责解析用户的请求、识别用户等,根据用户请求去调用相应的模型、相应的方法,提取出需要的数据,指示模版引擎调用合适的模版。控制器一般按约定的命名规范命名,以方便URL路由。
再然后就是模版引擎,把由控制器提供的数据和指定的模版文件拼接组合为html并输出。
权限控制我不是很了解,我的理解是控制器和数据模型均有参与,控制器完成用户的识别,维护用户数据,对于不具显示权限的页面给予拦截。模型是确定操作该数据需要什么等级的权限,拦截无权限的操作(用户的等级由控制器给出或由约定的函数得出)。
Diy网络
answered 11 years ago