python三层设计_Python——三层架构

一、项目目录规范

Foo/

|-- core/ # 存放业务逻辑相关代码

| |-- core.py

|

|-- api/ # 存放接口文件,接口主要用于为业务逻辑提供数据操作。

| |-- api.py

|

|-- db/ # 放操作数据库相关文件,主要用于与数据库交互

| |-- db_handle.py

|

|-- lib/ # 存放程序中常用的自定义模块

| |-- common.py

|

|-- conf/ # 存放配置文件

| |-- settings.py

|

|-- run.py # 程序的启动文件,一般放在项目的根目录下,因为在运行时会默认将运行文件所在的文件夹sys.path的第一个路径,这样就省去了处理环境变量的步骤

|-- setup.py # 安装、部署、打包的脚本。

|-- requirements.txt # 存放软件依赖的外部Python包列表

|-- README # 项目说明文件

二、三层架构

2.1 用户视图层

职责:与用户进行交互,接受用户输入的数据,并将其交给逻辑接口层进行处理,逻辑接口层最终会将处理的结果返回给用户视图层展示给用户

示例:登录功能,用户在用户视图层输入用户名密码后,程序将用户名跟密码传递给逻辑接口层进行匹配,最终用户视图层接收逻辑接口层返回的信息比如登录成功或者失败。

from interface import user_interface

def login():

inp_name = input("用户名:").strip()

inp_pwd = input("密码:").strip()

# 将输入的数据传递给逻辑接口层

flog, msg = user_interface.login_interface(inp_name, inp_pwd)

if flog:

print(msg)

else:

print(msg)

2.2 逻辑接口层

职责:相当于用户视图层与数据处理层的桥梁专门负责接收用户视图层传过来的数据,并进行核心逻辑的校验,校验的过程中会去访问数据处理层进行数据的增删改查操作,通过或不通过后会返回一个结果给用户视图层进行展示

示例:登陆接口,接收用户传入的数据并将其拿到传入数据处理层进行校验,校验通过后返回登陆成功给用户视图层,否则返回登录失败给用户视图层

from db import db_handle

def login_interface(inp_name, inp_pwd):

# 将数据传入数据处理层进行校验

user_data = db_handle.select(inp_name)

if user_data is None:

# 返回结果给用户视图层

return False, '用户不存在'

if inp_pwd == user_data["password"]:

return True, '登陆成功'

return False, '密码错误'

2.3 数据处理层

职责:接收到接口层传递过来的参数,进行数据的处理。

'''

1.增加数据

2.查看数据

3.修改数据

4.删除数据

'''

import json

import os

def select(inp_user):

if os.path.exists(user_json_path):

with open('数据存储路径', 'rt', encoding='utf-8') as f:

user_dic = json.load(f)

# 将校验结果返还给逻辑接口层

return user_dic

o_200402124626%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20200402181128.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值