架构的设计

news2025/5/23 13:33:03

搭建架构的最低前提

        1.设计清晰:

                       需求文档: 有哪些界面  每个界面提够了哪些功能  这些功能是怎样操作的   会有哪些反馈

        2.技术:

                写架构的同学:这次项目设计的技术  都要有料及(用到的技术有哪些特点  有哪些缺点)

                        比如: 控制台和easyx

                                        控制台:没法接受鼠标输入

                                        easyx:接受文本输入(中文符号)很麻烦

        达到这些要求后 就可以开始架构了

        谁来写?

                1.技术官 

                2.建议  达到最低进度要求的同学  都可以试着写一份架构

        注意:

                1.架构是各自写自己的,不要多人写同一份架构:容易出现思路上的冲突,

                        架构完成后,组长整理发给小学组,由小学长选择合适的架构

                2.先完成核心,在考虑扩展

                        核心部分的架构完成后,就可以先分工了

                       核心功能分工会,技术官可以再写扩展部分架构

                        后面  核心功能跑起来后,再安排扩展部分的分工

                3.整合代码

                        每天整合代码,写一部分整合一部分

                        第一次团队项目,会出现很多重复的错误

                                比如:参数和架构要求不一致/全局变量用法错误/变量名重名等等问题

                                        第一次整合时错误是最多的

                                         这时候修正大家的代码习惯,可以避免后续的任务出现重复的问题

                         整合方式:

                                开会时,技术官屏幕共享,讨论整合代码

                                如果完成了扩展部分的架构,整合后安排扩展任务分工

什么是架构

        数据的设计:

                全局变量+对应的注释

                如果有自定义类型,需要加上自定义类型的定义(成员变量,成员函数不需要写定义)

        函数的声明

                写函数声明,返回值,函数名,参数列表

                记得要写注释

                格式:
                        负责人:谁负责实现这块功能
                        功能:函数的整体逻辑描述
                        参数:函数的参数含义
                        返回值:返回值的含义
                       

                         返回值类型函数名称 ([参数列表]);

               

架构的内容

        1.是项目文件夹

,不是单个源文件,完成架构后,项目文件夹打包压缩

                组员在使用时也是,不要自己创建项目,而是将整个项目文件夹拿出来使用(避免环境不统一问题)

   

        2.数据的设计:

                        全局变量的生命/对应的注释/如果有自定义类型,需要写自定义类型的声明

        3.函数的声明

                        函数的声明/对应的注释

                        每个函数,分别提供什么功能,参数什么意思,返回值什么意思

常见架构的思路:界面和逻辑分开

        view(视图层/表示层)

                负责和用户的交互:

                        界面展示

                        接受用具输入

                        

                        用户输入 -> 逻辑判断/修改(service) -> 程序的反馈(界面展示)

                        用户输入 和 程序反馈 是view层的内容

                在需求文档中的界面划分,要能在view层找到对应的界面函数

                逻辑判断/修改

                        在需要判断/修改[全局变量]时,调用service

           service(业务层/逻辑层)

                        负责核心逻辑的处理/判断

                        view层在需要处理/判断数据时,需要通过调用service来处理

                        注意service层不接受输入,不打印输出

最后注意

        1.建议

                 将架构的内筒和架构的分层理解后,跟着推箱子架构案例写一遍

        2.注释要写清晰 

                清晰标准:组员能看懂

        3.有遇到不懂的地方,随时和学长联系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2383920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringAI 大模型应用开发篇-SpringAI 项目的新手入门知识

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 1.0 SpringAI 概述 目前大模型应用开发最常见的框架就是 LangChain,然而 LangChain 是基于 Python 语言,虽然有 LangChain4j,但是对于大量使…

编程速递-RAD Studio 12.3 Athens五月补丁:May Patch Available

编程速递-RAD Studio 12.3 Athens四月补丁:关注软件性能的开发者,安装此补丁十分必要 今天 (2025 年 5 月 19 日)Embarcadero 发布了 RAD Studio、Delphi 和 CBuilder 12.3 Athens(雅典)的第二个补丁。 RA…

Matlab学习合集

1.变量 2.常见的数学函数 3. 向量 向量的创建: 直接创建:针对于数量少的情况 冒号法 函数创建:

基于labview的声音采集与存储分析系统

基于LabVIEW的声音信号采集与存储分析系统开发实战:从原理到代码实现 (内含源码)基于labview的声音采集与处理系统 点击跳转工坊 点击跳转视频 引言 在音频技术与工业监测领域,声音信号的实时采集与分析是一项基础且关键的任务。…

【项目记录】部门增删改及日志技术

1 删除部门 1.1 需求 删除部门数据。在点击 "删除" 按钮,会根据ID删除部门数据。 了解了需求之后,我们再看看接口文档中,关于删除部门的接口的描述,然后根据接口文档进行服务端接口的开发。 1.2 接口描述 1.2.1 基…

TDengine 更多安全策略

简介 上一节我们介绍了 TDengine 安全部署配置建议,除了传统的这些配置外,TDengine 还有其他的安全策略,例如 IP 白名单、审计日志、数据加密等,这些都是 TDengine Enterprise 特有功能,其中白名单功能在 3.2.0.0 版本…

电子制造企业智能制造升级:MES系统应用深度解析

在全球电子信息产业深度变革的2025年,我国电子信息制造业正经历着增长与转型的双重考验。据权威数据显示,2025年一季度行业增加值同比增长11.5%,但智能手机等消费电子产量同比下降1.1%,市场竞争白热化趋势显著。叠加关税政策调整、…

Java使用Collections集合工具类

1、Collections 集合工具类 Java 中的 Collections 是一个非常有用的工具类,它提供了许多静态方法来操作或返回集合。这个类位于 java.util 包中,主要包含对集合进行操作的方法,比如排序、搜索、线程安全化等。 Java集合工具类的使用&#x…

python打卡day33

知识点回顾: PyTorch和cuda的安装查看显卡信息的命令行命令(cmd中使用)cuda的检查简单神经网络的流程 数据预处理(归一化、转换成张量)模型的定义 继承nn.Module类定义每一个层定义前向传播流程 定义损失函数和优化器定…

同城上门预约服务系统案例分享,上门服务到家系统都有什么功能?这个功能,很重要!

你以为上门按摩这类平台只要做好接单派单就万事大吉了?大错特错!市面上90%的系统只会吹嘘基础功能,却对最关键的财税问题避而不谈。很多创业者直到被税务稽查才发现,自己每年都在白白多交几倍的冤枉税!举个例子&#x…

用 UniApp 开发 TilePuzzle:一个由 CodeBuddy 主动驱动的拼图小游戏

我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 起心动念:从一个小游戏想法开始 最近在使用 UniApp 做练手项目的时候,我萌生了一个小小…

HJ101 输入整型数组和排序标识【牛客网】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 HJ101 输入整型数组和排序标识 一、题目描述 二、测试用例 三、解题思路 基本思路:   选择一个排序算法,然后根据标识确定升序还是降序;具体思路&a…

在Linux debian12系统上使用go语言以及excelize库处理excel数据

go-do-excel 一、介绍 myBook.xlsx表中,B列是“全部IP地址“,A列是“分发成功的IP地址“,本脚本采用go语言编写,通过读取myBook.xlsx中B列“全部IP地址“和A列“分发成功的IP地址“数据,计算出“分发失败的IP地址“数据,将其写入到C列。 二、编程语言 本脚本在Linux De…

【Python/Tkinter】实现程序菜单

程序源码: import tkinter as tk from tkinter.colorchooser import askcolordef set_colour():saskcolor(color"red",title"选择背景色")root.config(bgs[1])class Application(tk.Frame):def __init__(self,masterNone):super().__init__(ma…

“轩辕杯“云盾砺剑 CTF挑战赛web方向题解

目录 ezjs 签到 ezssrf1.0 ezflask ezrce ezsql1.0 ezweb ezjs 看到这个,直接访问getflag.php,POS提交score 100000000000 签到 6个小模块,我直接放bp的结果 1 2 3 4 5 6 ezssrf1.0 ?urlhttp:127.0.1/FFFFF11111AAAAAggggg.php也可…

常用UI自动化测试框架

🔍 常用UI自动化测试框架全览(Web / 移动 / 桌面 / AI驱动) UI(用户界面)测试框架是一类用于自动化测试应用图形界面的工具,帮助开发者和测试人员验证界面元素的功能性、交互性和视觉一致性。本文系统梳理了…

已经 上线 Vue 项目 国际化 i18n 中译英

省流说明:本文不是把项目中译英,只是抽取js、vue文件里的中文到JSON文件中,en.json里的value还是需要自己翻译成英文 ### 安装 `npm install vve-i18n-cli -D` ### package.json 里添加脚本命令,简化命令使用 ```json { "scripts": { "i18n": …

RISC-V 开发板 MUSE Pi Pro Gstreamer 编码UVC及MIPI CSI摄像头视频流

视频讲解: RISC-V 开发板 MUSE Pi Pro Gstreamer 编码UVC及MIPI CSI摄像头视频流 Gstreamer 在视频编码、解码、保存等场景下非常常用,其基于插件化的架构,可以玩的很花,进迭时空的Spacemit GStreamer 支持 spacemitdec 专有插件&…

【RA-Eco-RA2L1-48PIN】ADC 电压表

【RA-Eco-RA2L1-48PIN】ADC 电压表 本文介绍了 RA-Eco-RA2L1-48PIN 开发板通过瑞萨 e2 Studio 灵活软件包(FSP)编程实现 ADC 串口采集电压的项目设计,包括 串口通信、打印字符串、UART 和 ADC 配置、关键代码、ADC 电压转换、电压值串口打印…

KS107BG型超声体模的结构及性能

KS107BG型超声体模适用于工作频率在5~10MHz之间的B超设备的性能检测。 一、外部结构 体模外壳和底座由有机玻璃加工组装而成,底面板上开有两个直径36mm的圆孔,其上封有2mm厚的真空橡皮,作为抽气及注射保养液的入口。体模外壳外表…