zoukankan      html  css  js  c++  java
  • 关于 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 被两个工程共用,更改需要考虑可能造成的影响。

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

  • 相关阅读:
    How to solve problems
    【Python】区分List 和String
    【Python】内置方法pop
    【Python】安装配置Anaconda
    【Web crawler】print_all_links
    【Python】多重赋值之值互换
    BNF巴科斯-诺尔范式
    Svn与Git的区别
    python项目部署
    linux每日命令(3):which命令
  • 原文地址:https://www.cnblogs.com/zhiqsyr/p/4975170.html
Copyright © 2011-2022 走看看