zoukankan      html  css  js  c++  java
  • MVC模式网站编写经验总结

    单个网站使用MVC架构模式经验总结,包含具体网站包分类、包内类的编写、注意事项等方面。本人认为,按照如下包分类及编写方法,已经满足一个简单普通网站(主要针对java)的编写需求。

    MVC主要层级

    • 数据库持久层(model)

    常见应用的有Hibernate、Mybatis等持久层框架。

    1. dao(repository)

    此包中包含的类,是针对不同数据库的基本操作。
    针对关系型数据库,是常见的CRUD(可能包含分页、模糊查询和排序等)操作,目前在JAVA EE中形成了JPA规范。
    针对非关系型数据库,key-value。

    一般对不同数据库类型,在dao包下建子包,例如:dao.jpa。

    2. domain

    针对关系型数据库,一般使用ORM映射技术,将数据库表格映射成Java类对象。

    • 业务逻辑层(service)

    调用dao中的方法,实现具体的业务逻辑。
    1. domain.page
    将数据库查询后得到的结果组合,生成页面需要的类型。对应的类放在domain.page包下。

    • 控制层(controller)

    这一层主要进行页面的互操作。接受页面传递数据,进行检验和处理,然后将参数传递给service。获取返回的结果,将对应的结果传递给页面。
    1. controller
    controller.screen,实现常用页面跳转,内部不包含具体业务逻辑,功能为根据url,跳转到页面。
    controller,可以实现接口(Restapi),还可以实现对业务逻辑的调用。


    其他

    • 其他包:

    1. config
    用于一些配置类。
    2. common
    通用对象,记录全局变量、枚举类等。
    3. utils
    工具包,放置参数检查等工具方法。

    • 接口方法实现策略:
    //接口返回,必须注意,一般分为参数错误、异常返回、方法错误返回(null)、正确返回,四种方式。
    //选择处理的方式(使用枚举,增加可读性):
    // 1. 使用错误码的方式,将错误信息与错误码关联(类HTTP)。
    // 优点:将不同的异常方式归类,简单。
    // 缺点:种类过多,错误码过多,不易识别。
    // 2. 直接将错误信息,使用包装器的方式,返回上一层。
    // 优点:简单直接。
    // 缺点:不易于识别转换,如果错误信息是英文,不易转换成中文显示。
    // 采用:错误码(主,向上传递)+错误信息(辅,日志显示)+包装器
    public Object myApi(...){
    //参数检验必不可少,注意尽量写成if分块的方式,防止出现多层
    //if-else 嵌套,易于扩展。
    if(check(param1)){
    return error1;
    }
    if(check(param2)){
    return error2;
    }
    ...
    
    ...
    try{
    ...
    }catch(Exception e){
    
    return errorException;
    }
    
    
    }
  • 相关阅读:
    dp的冗余(选数类)
    noip2016自测报告
    dalao高精
    二叉苹果树
    最长上升子序列加强版
    Above the Median
    树状数组学习笔记
    Java委托机制
    Java集合
    Java异常
  • 原文地址:https://www.cnblogs.com/zhengruin/p/6129727.html
Copyright © 2011-2022 走看看