初遇MVC

代码设计

DAO层

  • 主要做数据持久层的工作,负责与数据库联络的一些任务
  • 首先设计dao层的接口,定义实现该接口的实现类
  • 使用该接口进行数据业务的处理,并不关心具体实现是哪个类

service层

  • 服务层,负责业务模块的应用逻辑应用设计,封装业务逻辑
  • 所有的逻辑应当放到service中
  • 编写具体的业务处理,更接近于具体的业务功能的要求,应当是一个可以 对外提供的功能,比如核对商品,查询库存等
  • 设计接口,再设计实现类
  • 调用接口进行业务处理

controller层

  • 控制器,负责具体业务流程的控制,这一层应该写一些业务的调度代码
  • 调用service层的接口来控制业务流程

View层

关联

  • Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的
  • Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置
  • 每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。
  • DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,Controller,View层因为耦合度比较高,因而要结合在一起开发

异常

  • 异常的作用是更好地发现问题并解决问题

  • 要在每一层进行try catch,将异常抛出,通知出现什么问题,并进行友好提示给用户

  • 当使用了ExceptionHandle进行异常的统一处理,异常不断往外抛,最后会交给excepHandle进行处理

  • Spring只会对RuntimeException进行事务回滚

  • 在程序当中定义自己的异常,将系统异常与逻辑异常区分

  • 错误码code和错误信息Msg的统一管理,使用枚举