软件的开发目录规范及三层架构

软件的开发目录规范及三层架构

一 面向过程编程

1 什么是面向过程

​ 面向过程的核心是”过程“二字,过程指的就是做事的步骤。即先干什么,再干什么、后干什么。。。

​ 基于该思想写程序就好比设计一条条的流水线。

2 优点:

​ 可以把复杂的问题流程化,进而简单化。

3 缺点:

​ 牵一发而动全身,扩展性差。

二 软件的开发目录规范

​ 软件的开发需要一个规整的目录,使程序结构清晰,便于程序的维护。

Soft                       # 项目根目录
  ├────bin                 # 程序的主入口
  |     └────start.py      # 调用src主程序资源,导入环境变量
  ├────conf                # 配此文件
  |     └────setting.py    # 环境变量等配置文件
  ├────core                # 程序核心逻辑
  |     └────src.py        # 作为主程序,定义各种主功能于此处
  ├────db                  # 数据文件
  |     └────db.json       # 用户的数据文件
  ├────lib                 # 库、模块、包存放处
  |     └────common.py     # 通用的功能模块,包括装饰器等
  ├────log                 # 日志
  |     └────access.log    # 程序运行日志文件
  └────Readme              # 开发文档

三 软件开发的三层架构

1 什么是软件开发的三层架构

​ 程序设计的三层架构,就是将一个脚本程序,根据使用的功能,用模块的方法拆分为视图层、接口层、以及数据层等三个层次。

- 三层架构
    - 视图层: 专门用于与用户交互;
        - 展示功能给用户看、接收用户输入的数据、将功能返回的结果展示给用户看的;

    - 接口层: 专门做业务逻辑的处理;
        - 接收到用户输入的数据,进行逻辑判断,然后返回判断后的结果给视图层;

    - 数据层: 专门做数据的处理
        - 增加数据
        - 删除数据
        - 更新数据
        - 查看数据

2 为什么要用三层架构

​ 因为随着程序的需求越来越多,在一个文件里写程序,会越来越臃肿,不利于程序的维护与扩展,因此使用三层架构来设计程序,可以使软件层次清晰,易于维护。

​ 此外,分层设计后,数据层和视图层在替换其他存储/展示方式的时候,也会更易于修改。

3 如何使用三层架构

3.1 程序三层架构图,以登录功能为例:

3.2 程序三层架构之数据处理层的写法:

# db_handler 数据处理层
import json
from conf import settings
import os

# 查
def select(username):
    # 用户json文件路径
    user_path = os.path.join(settings.BD_PATH, '%s.json' % username)
    
    # 判断当前注册用户是否存在
    if os.path.exist(user_path):
        # 读取文件中的数据
        with open(user_path, mode='rt', encoding = 'utf-8') as f:
            user_dic = json.load(f)
            return user_dic
            
# 改
def save(user_dic):
    # 用户json文件路径
    user_path = os.path.join(settings.DB_PATH, '%sjson' % user_dic['name'])
    
    # 将数据写入文件
    with open(user_path, mode='rt', encoding = 'utf-8') as f:
        json.dump(user_dic, f)
        
        f.flush()
posted @ 2020-03-17 17:28  越关山  阅读(559)  评论(0)    收藏  举报