第2章 秒杀项目框架回顾

秒杀系统的框架

屏幕快照 2019-06-13 下午8.23.37

层与层之间的交互方式

屏幕快照 2019-06-13 下午11.57.01

Data Obiect和Domain Model

比如我们需要刻画的用户,

在业务层的Domain Model中

UserModel的属性

private Integer id;
    @NotBlank(message = "用户名不能为空")
    private String name;

    @NotNull(message = "性别不能不填写")
    private Byte gender;

    @NotNull(message = "年龄不能不填写")
    @Min(value = 0,message = "年龄必须大于0岁")
    @Max(value = 150,message = "年龄必须小于150岁")
    private Integer age;

    @NotBlank(message = "手机号不能为空")
    private String telphone;

    private String registerMode;
    private String thirdPartyId;
    @NotBlank(message = "密码不能为空")
    private String encrptPassword;

在数据层UserDO和UserPasswordDO表中:

在企业中,由于用户的密码属性会由其他,于是用户的密码生成另外的表,UserModel的属性由UserDO和UserPasswordDO的属性拼接而成。

UserDO:

    private Integer id;

    private String name;

    private Byte gender;

    private Integer age;

    private String telphone;

    private String registerMode;

    private String thirdPartyId;

UserPasswordDO:

    private Integer id;

    private String encrptPassword;

    private Integer userId;

贫血模型

Domain Model使用的是贫血模型

对应的Domain Model 仅仅只有自己的属性,比如用户的基础属性和用户的密码属性,另外提供get个set方法,除此以外不提供注册、登录、注销这些服务,用户想使用这些服务,必须通过service服务输出能力。

接入层模型

接入层 View Object 是对前端负责

与springMVC

Controller管理的是 View Objec 接入层模型

Model对应的是 Domain Model 业务层模型

项目VO、Model和DO图

屏幕快照 2019-06-14 上午12.23.42

项目类图

屏幕快照 2019-06-14 上午12.35.58

答疑

跨域session共享问题(safari浏览器 )

屏幕快照 2019-06-14 上午2.02.17

全局异常处理器404,405问题


   转载规则


《第2章 秒杀项目框架回顾》 徐兴华 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
第3章 云端部署 性能压测 第3章 云端部署 性能压测
[TOC] 私有部署就是本地的私有化部署,在本机上调试程序,运行成功在本地打包部署云端。 操作系统及运行环境数据库应用程序项目云端部署操作系统及运行环境阿里云centos虚拟机(ECS服务器) 数据库本地备份mysqldump -uro
2019-06-14
下一篇 
一个完整的HTTP请求过程 一个完整的HTTP请求过程
整个流程域名解析 —>与服务器建立连接 —> 发起HTTP请求 —> 服务器响应HTTP请求 —>浏览器得到html代码 —> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片) —&g
  目录
I I