【3.0】ATM和购物车项目架构设计
【一】项目结构树
|- ATM(项目根目录)
|-- README.md # 项目说明书
|-- start.py # 项目启动文件的创建方式二,直接暴露在最外层
|-- bin(启动文件目录) # 存放启动文件的方式一,单独创建目录
|- main.py # 存放用户核心代码
|-- core(用户视图层) # 存放用户视图层代码文件
|--- user_src.py # 用户功能代码
|--- admin_src.py # 管理员功能代码
|--- shop_src.py # 购物功能代码
|-- interface(逻辑接口层) # 存放核心业务逻辑代码
|--- user_interface.py # 用户功能相关接口
|--- bank_interface.py # 银行功能相关接口
|--- shop_interface.py # 购物功能相关接口
|-- db(数据处理层) # 存放数据与数据处理层代码
|--- db_handler.py # 数据处理层代码
|--- user_data # 用户数据存储文件夹目录
|---- user_data.json # 用户数据存储json文件
|-- conf # 配置文件文件夹目录
|--- settings.py # 配置参数代码
|-- lib # 公共方法文件夹目录
|--- common.py # 公共方法代码
|-- log(日志文件层) # 存放日志文件夹目录
|--- User # 用户日志文件夹目录
|---- username.log # 某个用户的日志文件
|--- Admin # 管理员日志文件夹目录
|---- username.log # 某个用户的日志文件
|--- Shop # 购物日志文件夹目录
|---- username.log # 某个用户的日志文件
【二】项目结构树说明
【1】README.md
- 存放项目的说明,包括但不限于,程序运行展示
- 存放一些对程序的解释型介绍
【2】start.py(启动文件)
- ATM和购物车项目的启动入口
【3】bin(启动文件目录)
- 总项目的总功能整合
(1)__init__.py
(包出口)
- 作为 bin 包的出口文件
(2)main.py(统合主逻辑)
- 作为用户视图层的整合代码入口
【4】core(用户视图层)
- 存放用户视图层代码文件
- 主要负责参数的读入
- 输入层反馈的状态的信息的展示
(0)__init__.py
(包出口)
- 作为 core 包的出口文件
(1)user_src.py(用户功能视图代码)
- 用户功能的视图代码
- 负责用户数据的输入
- 将用户数据传给接口层
- 接口层反馈结果,将接口层返回的结果进行展示
- 例如注册功能
- 输入用户名和密码
- 将用户名和密码传递给接口层
- 接口层处理完成后反馈结果
- 注册成功 返回 True
- 打印登陆成功
- 注册失败 返回 False
- 打印登陆失败
- 注册成功 返回 True
(2)admin_src.py(管理员功能视图代码)
- 管理员功能的视图代码
- 负责管理员数据的输入
- 将管理员数据传给接口层
- 接口层反馈结果,将接口层返回的结果进行展示
(3)shop_src.py(购物功能视图代码)
- 购物功能的视图代码
- 负责购物数据的输入
- 将购物数据传给接口层
- 接口层反馈结果,将接口层返回的结果进行展示
【5】interface(逻辑接口层)
- 存放核心业务逻辑代码
(0)__init__.py
(包出口)
- 作为interface 包的出口文件
(1)user_interface.py(用户核心逻辑接口)
- 用户功能的逻辑代码
- 负责对视图层传入的数据进行处理、清洗或加密
- 负责调用数据处理层进行数据的保存和读取
- 将用户视图传入的参数进行清洗处理后向视图层反馈结果
- 例如注册功能
- 接收到视图层传入的用户名和密码
- 对原始密码进行加密
- 构建好存储到数据库的数据格式
- 调用数据处理层的函数进行数据的写入
- 获取到数据处理层反馈的结果
- 写入成功
- 返回 True 返回 写入成功
- 写入失败
- 返回 False 返回 写入失败
- 写入成功
- 将数据处理层的结果处理后反馈给视图层二次处理
(2)admin_interface.py(管理员核心逻辑接口)
-
管理员功能的逻辑代码
-
负责对视图层传入的数据进行处理、清洗或加密
-
负责调用数据处理层进行数据的保存和读取
-
将用户视图传入的参数进行清洗处理后向视图层反馈结果
-
(3)bank_interface.py(银行核心逻辑接口)
-
银行业务相关功能的逻辑代码
-
负责对视图层传入的数据进行处理、清洗或加密
-
负责调用数据处理层进行数据的保存和读取
-
将视图传入的参数进行清洗处理后向视图层反馈结果
-
(4)shop_interface.py(购物核心逻辑接口)
-
购物业务相关功能的逻辑代码
-
负责对视图层传入的数据进行处理、清洗或加密
-
负责调用数据处理层进行数据的保存和读取
-
将视图传入的参数进行清洗处理后向视图层反馈结果
-
【6】db(数据处理层)
- 存放数据与数据处理层代码
(0)__init__.py
(包出口)
- 作为 db 包的出口文件
(1)db_hander.py(数据处理层代码)
- 用来处理有关数据的存储
- 处理有关数据的读取和清理
(2)User(用户数据文件夹)
- user_data.json : 存储所有用户的数据的json文件
(3)Product(商品数据文件夹)
- shop_data.json : 存储所有商品信息的数据的json文件
【7】conf(配置文件夹)
- 存放配置文件
(1)__init__.py
(包出口)
- 作为 conf 包的出口文件
(2)settings.py(配置文件)
- 存放设置相关的代码
- 比如根目录参数
- 比如日志配置字典参数
【8】lib(公共方法文件)
(1)__init__.py
(包出口)
- 作为 lib 包的出口文件
(2)common.py
- 存放所有函数或者部分函数公用的函数代码或逻辑
【9】log(存放日志文件)
- 用来存放生成的log日志文件
(1)User
- 存放普通用户的日志文件
(2)Admin
- 存放管理员操作日志
(3)Shop
- 存放购物相关日志
【三】搭建项目结构树
本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17937378