首页 > 其他分享 >ATM-Shop项目结构树

ATM-Shop项目结构树

时间:2024-04-22 14:45:47浏览次数:19  
标签:Shop ATM 项目 代码 py 用户 视图 --- 接口

【一】项目结构树

|- 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
        • 打印登陆失败

(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

  • 存放购物相关日志

标签:Shop,ATM,项目,代码,py,用户,视图,---,接口
From: https://www.cnblogs.com/zenopan101861/p/18150610

相关文章

  • 记录真实项目中遇到的bug--010:支付截止bug
    T10:支付截止bug:1.优先级:T22.前提条件:已到截止时间,用户A未刷新页面3.预期结果:用户A点击支付宝,提示:支付已截止,并返回dashboard页面4.实际结果:用户A点击支付宝展示空白页5.缺陷跟踪:bug同步产品,告知先放着,只记录,不更改。6.总结:跟支付策略有关,无法修改原因:浏览器禁止用户在做异......
  • 实战剖析-vue项目首屏加载时长优化
     首屏速度是用户体验的最关键一环,而首屏速度最大的决定性因素就是资源的加载速度,资源加载速度等于资源大小+网速,老的前端项目随着不断增长,代码可能会变得混乱,冗余难以理解,不断的做加法,久而久之,前端性能上就会受到影响,相信大家在工作当中一定遇到,页面加载时间慢,响应时间长等......
  • 【PLM踩坑记】新建SpringBoot项目,无法使用Java8
    概述今天开始学SpringBoot,需要使用IDEA新建SpringBoot项目。公司使用的Java版本为jdk1.8,这里我选择了这个版本的jdk之后,下面的Java选项不提供Java8。解决方法如下:首先将jdk版本选择为较新的jdk22,然后下面的Java版本随便选择一个。在正式进入项目之后,修改IDEA中的项目设置。点......
  • 前端【TS】02-typescript【基础】【搭建Vite+Vue3+TS项目】【为ref标注类型】
    前置基于Vite创建Vue3+TS环境vite官方文档:https://cn.vitejs.dev/guide/vite除了支持基础阶段的纯TS环境之外,还支持Vue+TS开发环境的快速创建,命令如下:1npmcreatevite@latestvue-ts-project----templatevue-ts23//说明:41.npmcreatevite@lates......
  • 报错:Qt 打开项目找不到Qt自己的头文件
    报错:Qt打开项目找不到Qt自己的头文件问题描述打开一个之前能跑的Qt项目,发现编译报错,很多Qt自己的宏、头文件、基本类都找不到了。问题解决首先排除一下是不是Qt版本问题导致的CMakeLists.txt或qmake的.pro文件问题。CMakeLists.txt的问题好判断,cmake会给出详细的报......
  • 项目配置管理
     ......
  • .Net与AI的强强联合:AntSK知识库项目中Rerank模型的技术突破与实战应用
        随着人工智能技术的飞速发展,.Net技术与AI的结合已经成为了一个新的技术热点。今天,我要和大家分享一个令人兴奋的开源项目——AntSK,这是一个基于.net平台构建的开源离线AI知识库项目。在这个项目中,我们最近加入了一项强大的Rerank(重排)模型,进一步增强了我们的AI知识库的......
  • Random 项目总结 -07 截取当前程序图片
    [DllImport("gdi32.dll",CharSet=CharSet.Auto,SetLastError=true,ExactSpelling=true)]publicstaticexternintBitBlt(HandleRefhDC,intx,inty,intnWidth,intnHeight,HandleRefhSrcDC,intxSrc,intySrc,intdwRop);p......
  • Random 项目总结 -08 生成WORD 报告
    usingSystem.Windows.Forms;usingSystem.Xml;usingMsword=Microsoft.Office.Interop.Word;privatevoiddy_Click(objectsender,EventArgse){Formf1=dy.FindForm();intgx=f1.Location.X;intgy=f1.Location.Y;......
  • Random 项目总结 -06 定时器、 随机数,截图,生成WORD报告 (result完整)
    usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Drawing.Imaging;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Xml;usingMsword=Microsoft.Office.......