架构的设计

搭建架构的最低前提

        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.mzph.cn/pingmian/81855.shtml

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

相关文章

Mysql varchar类型字段存储的数据末尾带空格,数据过滤不及预期问题

Mysql varchar类型字段存储的数据末尾带空格,数据过滤不及预期问题 引分析 引 最近在项目上遇到一个数据过滤问题,有一批数据,字段末尾多了一个空格,在最后提交的时候被java后端的equals比较校验不匹配,导致业务流程阻…

Debezium TableSchemaBuilder详解

Debezium TableSchemaBuilder详解 1. 类的作用与功能 1.1 核心作用 TableSchemaBuilder是Debezium中负责构建表Schema的核心类,主要功能包括: Schema构建:将数据库表结构转换为Kafka Connect的Schema定义主键处理:生成表的主键Schema值Schema处理:生成表的非主键字段Sc…

P1090 [NOIP 2004 提高组] 合并果子

P1090 [NOIP 2004 提高组] 合并果子 - 洛谷 #include <bits/stdc.h> using namespace std; int main() {int n;cin >> n;priority_queue<int, vector<int>, greater<int>> pq; //小根堆for (int i 1; i < n; i) {int x;cin >> x;pq.pu…

《量子雷达》学习(1) 2025.5.20

《量子雷达》深度解析&#xff1a;理论、技术与未来启示 一、书籍核心内容与理论框架 Marco Lanzagorta的《量子雷达》从量子力学与经典电磁理论的融合视角出发&#xff0c;系统构建了量子雷达探测的理论体系。全书以量子态的传输、散射与检测为核心&#xff0c;重新定义了雷…

支持向量存储:PostgresSQL及pgvector扩展详细安装步骤!老工程接入RAG功能必备!

之前文章和大家分享过&#xff0c;将会出一篇专栏&#xff08;从电脑装ubuntu系统&#xff0c;到安装ubuntu的常用基础软件&#xff1a;jdk、python、node、nginx、maven、supervisor、minio、docker、git、mysql、redis、postgresql、mq、ollama等&#xff09;&#xff0c;目前…

uni-app(2):页面

1 页面简介 uni-app项目中&#xff0c;一个页面就是一个符合Vue SFC规范的 vue 文件。 在 uni-app js 引擎版中&#xff0c;后缀名是.vue文件或.nvue文件。 这些页面均全平台支持&#xff0c;差异在于当 uni-app 发行到App平台时&#xff0c;.vue文件会使用webview进行渲染&…

Unity异步加载image的材质后,未正确显示的问题

简述&#xff1a; 此问题涉及到Unity的UI刷新机制 问题描述&#xff1a; 如图所示&#xff0c;想要实现在打开新的界面时候&#xff0c;通过修改材质的方式&#xff0c;修改image的显示内容。 明明已经给image添加上材质了&#xff0c;可还是一片空白&#xff1f; 先看看代…

互联网大厂Java面试场景:从缓存到容器化的技术问答

场景&#xff1a;互联网大厂Java面试之旅 面试官&#xff1a;严肃的技术专家 应聘者&#xff1a;搞笑的水货程序员明哥 第一轮&#xff1a;缓存技术与数据库优化 面试官&#xff1a;明哥&#xff0c;你能谈谈Redis的常见使用场景和一些优化技巧吗&#xff1f; 明哥&#xf…

如何分析动态采样引起的计划不稳定 | OceanBase SQL 调优实践

这篇博客涉及两个知识点&#xff0c;一个是动态采样&#xff0c;另一个是 DAS 执行。 用户的问题和相关结论 我们看看用户在OceanBase 社区论坛发帖中提出的疑问及其所得出的结论。 问题&#xff1a;收集统计信息之前&#xff0c;为什么会出现计划不稳定的情况&#xff1f; …

TypeScript 泛型讲解

如果说 TypeScript 是一门对类型进行编程的语言&#xff0c;那么泛型就是这门语言里的&#xff08;函数&#xff09;参数。本章&#xff0c;我将会从多角度讲解 TypeScript 中无处不在的泛型&#xff0c;以及它在类型别名、对象类型、函数与 Class 中的使用方式。 一、泛型的核…

19.备忘录模式:思考与解读

原文地址:备忘录模式&#xff1a;思考与解读 更多内容请关注&#xff1a;深入思考与解读设计模式 引言 在软件开发中&#xff0c;尤其是当对象的状态会经历多个变化时&#xff0c;你是否遇到过一个问题&#xff1a;如何保存对象的某一时刻的状态&#xff0c;以便在未来的某个…

【运营商查询】批量手机号码归属地和手机运营商高速查询分类,按省份城市,按运营商移动联通电信快速分类导出Excel表格,基于WPF的实现方案

WPF手机号码归属地批量查询与分类导出方案 应用场景 ​​市场营销​​&#xff1a;企业根据手机号码归属地进行精准营销&#xff0c;按城市或省份分类制定针对性推广策略​​客户管理​​&#xff1a;快速对客户手机号码进行归属地分类&#xff0c;便于后续客户关系管理​​数…

MySQL之函数

文章目录 函数字符串函数常见函数举例说明具体场景 数值函数常见函数举例说明具体场景 日期函数常见函数举例说明具体场景 流程函数常见函数举例说明具体场景 函数 函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着&#xff0c;这一段程序或代码在MySQL中已经…

html,js获取扫码设备的输入内容

<script type"text/javascript"><!-- window.onload function () {// 获取扫描的二维码内容 var code ""; var lastTime, nextTime; var lastCode, nextCode; document.onkeypress function (e) { nextCode e.which; ne…

Nginx 配置 HTTPS 与 WSS 完整指南(最新推荐)

Nginx 配置 HTTPS 与 WSS 完整指南 一、准备工作 获取 SSL 证书 从可信机构&#xff08;如 Let’s Encrypt&#xff09;申请证书获得以下文件&#xff1a; 域名证书&#xff1a;domain.crt私钥文件&#xff1a;domain.key中间证书链&#xff1a;chain.crt 推荐合并证书链&…

选择合适的Azure数据库监控工具

Azure云为组织提供了众多服务&#xff0c;使其能够无缝运行应用程序、Web服务和服务器部署&#xff0c;其中包括云端数据库部署。Azure数据库能够与云应用程序实现无缝集成&#xff0c;具备可靠、易扩展和易管理的特性&#xff0c;不仅能提升数据库可用性与性能&#xff0c;同时…

CSS 文字样式全解析:从基础排版到视觉层次设计

CSS 文字样式目录 一、字体家族&#xff08;font-family&#xff09; 二、字体大小&#xff08;font-size&#xff09; 三、字体粗细&#xff08;font-weight&#xff09; 四、字体样式&#xff08;font-style&#xff09; 五、文本转换&#xff08;text-transform&#xf…

电子电气架构 --- 细化造车阶段流程

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

谈谈Oracle BUFFER CACHE的命中率

BUFFER CACHE的命中率已成为一个老生常谈的话题&#xff0c;在数据库等待事件出现之前&#xff0c;DBA进行数据库系统级优化时&#xff0c;往往会首先观察BUFFER CACHE的命中率。命中率高就意味着数据库运行正常&#xff0c;很多Oracle官方提供的巡检脚本都将BUFFER CACHE的命中…

云渲染技术解析与渲酷平台深度测评:如何实现高效3D创作?

一、云渲染技术核心原理 1.1 分布式计算架构 云渲染的本质是通过多节点并行计算实现效率突破。以动画渲染为例&#xff0c;一个30秒的动画通常包含720帧&#xff08;按24帧/秒计算&#xff09;&#xff0c;传统单机需要连续处理所有帧&#xff0c;而云渲染可将任务拆解为720个…