• 【Java 单体应用 】第 3 章


    什么是系统架构

    经常提到的系统架构:三层架构与mvc。
    这两种架构都是为了降低系统模块间的耦合度。

    三层架构

    视图层 View、服务层(业务逻辑层) Service、持久层(数据访问层) DAO(不念刀)。

    View:接受用户提交请求的代码(交互)
    Service:系统业务逻辑在这里完成
    DAO:直接操作数据库的代码

    系统复杂度,架构就是解决系统复杂度问题。

    为了更好地降低各层间的耦合度,三层架构程序中,采用面向抽象编程。

    View -> Service -> DAO -> 数据库(查询效率高,适合复杂查询,安全性好,比普通文件好)

     开发中,业务才是核心,而业务也是有复杂度的。

    复杂度是分等级的:

    • 简单业务    只开启 1 个事务
    • 普通业务    开启 3 个事务
    • 复杂业务    开启 7 个事务

    多张表之间有依赖关系。 强关联性。

    所有东西全都写在 main 里面 ->高耦合。

    一个类只做一种事 (内聚)

      工具类: 日期管理 

            依赖

            (所以用一个专门负责日期的运算方法解耦)

             数学工具类:四则运算

           日期也有加减四则运算

    一个方法只做一件事。 

    写且只写一次

    重构原则

      事不过三,三则重构

        提取方法

        提取类

      A类

        四则运算

      B类

        四则运算

      C类

        四则运算

    MVC(视图层)

    View

    model:

    • 数据模型 Entity
    • 业务模型 Service

    控制器(controller):

    • 处理用户请求

    Servlet 服务器小程序(一个类做了两种事)

    • 处理业务逻辑
    • 处理页面展示

    JSP java服务器页面 (JSP就是一个Servlet) 处理页面展示 (把处理页面的功能分离出来了)  是一门技术

      小脚本

      <%%>

    登录功能

      业务逻辑完备

      独立的系统

        拆分成各种服务

    Doget 和 Dopost

    Doget:传参数是明文,传参数有大小限制(4kb的样子)

    Dopost:传参数是密文, post没有参数限制,可以上传文件

    最重要的区别:语义区别, get是获取得到, post是提交。Get 就应该用于获取数据,Post用于提交数据。

    post请求实际是两次(第一次请求问服务器能不能接受数据,第二次才提交), get是一次所以post效率比较低。

      幂等性: 无论调用多少次,都是相同的结果。

    pos不具有幂等性

  • 相关阅读:
    18C 新的发行版和补丁模型
    单机数据库193000 升级到195000
    Mycat学习-单独启动mycat
    dstat 监控工具
    基于FTP 的本地Yum服务器配置
    记一次SQL PLUS 不能登录的异常处理
    FastDFS---分布式文件存储系统安装与使用
    ERROR
    记:一次安装Nginx的过程
    连接阿里RDS数据库
  • 原文地址:https://www.cnblogs.com/AWCXV/p/14059275.html
Copyright © 2020-2023  润新知