T31-10.27日 简介+设计原则+架构

357 阅读2分钟

项目简介

  • 从查票、下单、付钱、通知的主流程
  • 抽象商品、订单、支付的核心模型
  • 处理票务异常和日志
  • 了解架构设计背后的方法论

需求分析

伪需求:没有调研、没有目标、没有逻辑的无脑需求

权力需求:老板或者是强势业务方的需求

需求

1.乘客通过网站注册登录

2.实名认证通过mock实现

3.铁路部门管理员有如下功能

  • 车次、车厢、经停站、时刻表的增删改查
  • 用户管理:用户增删改查,黑名单管理,为角色分配相应功能
  • 菜单管理:菜单增删改查

4.定时任务:生成火车票

5.普通用户拥有以下功能

  • 修改信息:密码,住址,电话,邮箱等
  • 代购功能:录入其他乘客信息,合并下单支付
  • 余票查询:可以通过车次、出发站、到达站、日期等条件查询
  • 购买车票下单:选择车次,选择乘车人,座位类型后下单
  • 订单支付:第三方支付,支付宝支付、微信支付

6.支付成功后系统通知用户

七大设计原则

1.单一职责:高内聚、低耦合

image.png

2.里氏代换原则:父类能出现的地方,子类一定能出现;而子类出现的地方,用父类代替,一眼都有问题

image.png

3.接口隔离原则:接口粒度尽可能小,同一接口的方法强内聚于同一特征

image.png

4.组合复用原则:松散的合作关系

image.png

5.依赖倒置关系:细节依赖抽象,底层依赖于高层

6.迪米特原则:不要和陌生人说话

7.开闭原则:对扩展开放,对修改关闭

架构

什么是架构图

水平的业务单元+垂直的技术单元组成的逻辑结构图

T31架构图

image.png