经常有人混淆mvc和软件的三层架构,经过一年多的工作,说一下自己的理解。
mvc,是一种设计思想,只是个指导方针。这个方针是:一个工程可以分为表现层,控制器,数据模型。
控制器就是一个转接头,两边对接表现层和数据模型。
比如mvc的一种表现形式:26个英文字母就是26个数据模型,组合出的单词就是无数个表现层,把数据模型组合成单词的人就是控制器。于是数据模型就可以很大程度的重用。
三层(也可以分多层)架构,是指导方针的一种表现形式(这里的指导方针不一定是指mvc),ui层,bll层,dal层,按照mvc的思想,ui层包括了mvc里的v和c,而bll层和dal层一起组成m。
软件的三层架构里的任意一层,都可以用mvc来分解。
比如bll层,可以分为共通函数和调用共通函数的业务函数,于是共通函数就是数据模型,业务函数就是控制器,bll层之外的调用bll层的就是表现层。