有些混乱了,MVC怎么区分??
在看MF的《企业应用架构模式》,提到现在流行的分层结构 表现层-领域层-数据层 这是否对应MVC的V C M??
让故事回到刚开始学JSP的时候,我看得第一本书讲JSP和MVC,采用最原始的JSP向Servlet发送请求,Servlet封装数据将数据传给DAO,DAO操作数据库。。此时我坚信 JSP是V层,Servlet是C层,封装的数据是M层,可是逐渐我发现Servlet并不像是C,他没能控制什么他只是JSP的代码表现形式而已,他能做JSP能做的所有的JSP也能做Servlet能做的所有,那么有什么理由不相信Servlet应属于V层呢,至此,我发现缺失C层。
又过了一段时间在servlet和dao之间封装了handler曾专心处理业务,dao专心访问数据库,欣喜若狂以为handler就是缺失的C层。
又过了一段时间,接触了SSH等的轻量级架构,难道ssh就是完整的mvc???同事告诉我其实struts本身就已经提供了完整的MVC,可是我看Action实际上和servlet是一个意思,怎么也不觉得算是c层,而且在SSH里很少听到MVC的声音了。
至此,到现在看了MF等等其他大使的书,只要是涉及轻量级架构就鲜有提到MVC的,一般都是提到 表现层-领域层-数据层 或者加上服务层 等等,是MVC的概念转变了,还是干脆就非MVC模式?