关于 MVC 在架构中的运用 - 个人见解

项目工程遵循 MVC 分层思想构建,常会分为 web(视图层)、controller、service、dao、entity、dto 几层,另外可能还有 common 包,包括一些工具类、常量类、枚举等等。

过滤器(fliter)、拦截器(interceptor)及其他类似 AOP 、转换器(converter,用于页面展示)等,常会放在 controller 层。

 

假如现在项目需要对外提供 Web Service 服务:

方案一:接口代码写在同一工程。一般会续用原来 dao 框架(如Hibernate等),此时 service、dao、entity 甚至某些 aop 代码仍可复用(一般 Web Service 对外提供的数据比较精准,dto 多数情况不能复用),那么就会减少开发量。缺点是不利于根据接口需求技术选型,另外 Web 与接口服务在一起,部署不够灵活。

方案二:接口代码另起工程。此时 service、entity 等代码可能想要重用,那么我们事先应该把它们单拎出来,形成子工程(这个采用maven容易实现)。但是这里需要注意,service、entity 被两个工程共用,更改需要考虑可能造成的影响。

方案三:另起工程,代码完全新写。这样完全可以自己决定采用何种架构,缺点是工作量会较大。

posted @ 2015-11-18 17:11  zhiqsyr  阅读(175)  评论(0编辑  收藏  举报