一个通用程序的相关原理
因素
------------------------------------------------------------
【数据结构】
层次
vd 客户端展示控件数据结构/打印/导出
vcd 客户端内存数据结构
td_view 传输时json/xml结构
cd 计算时内存数据结构
td_cache 传输时json/xml结构
pd 持久化层数据结构
rd 表结构
结构
原子数据结构string/number/date/boolean/guid/bytes/binary
简单业务数据结构businessobject
单子业务数据结构qjd(master,List<List<detail>>)
主
基本属性
引用对象
基本属性集合
引用对象集合
子
基本属性
引用对象
基本属性集合
引用对象集合
参数业务数据结构define(info,bytes)
映射
基本映射
关系映射
继承映射
基本
string/number/date/boolean/guid/bytes/binary
关系
多对一
一对多
多对多
继承
parent
parents?
【数据/状态】条目
层次
vdvcd + 格式化/反格式化
vcdpd + 计算逻辑/处理逻辑
tdcd + 序列化/反序列化
cdpd + 计算逻辑/处理逻辑
tdcd + 序列化/反序列化
pdrd + 持久化逻辑
rd持久化数据
【状态变化范围枚举】
状态变化要求和逻辑类别,场景时机类别紧密配合,要求严谨。
【状态之间具有【依赖】关系,认为是一个状态组合,具有【原子性】和【完整性约束】,那么状态的变化就要考虑这个组合变化的严谨性】
【状态的冗余?】
【状态存在具有条件性?】
状态B是某个状态值的条件是状态A在某个状态值下。
【一个业务功能内部状态间具有【原子性】和【完整性约束】】
功能内的状态,逻辑,场景的严谨性
监听,连带修改?
【多个业务功能的状态间具有【原子性】和【完整性约束】】
多个功能间的状态,逻辑,场景的严谨性
重置单据?
【逻辑部件类型】类
概念一个概念封装成一个逻辑部件
职责这个概念拥有的状态和逻辑代码,应该写在这个逻辑部件中
【逻辑部件】对象
生命周期参考后边的场景,定义逻辑部件应用的范围,什么时候产生,什么时候销毁,创建个数。
实例个数考虑不同场景下,操作的是否是同一个对象。别看到有代码在修改状态,就认为影响的是本对象。
状态是否有状态,有的话考虑逻辑部件的【并发】情况。
逻辑逻辑是否在操作自己的和别的地方的状态,有的话考虑逻辑部件的【并发】情况。
【逻辑】方法
方法
代码不要把逻辑和时机混为一谈,逻辑本身可以在多个时机调用,逻辑代码应该写在逻辑部件中。
【逻辑类别范围枚举】
状态变化要求和逻辑类别,场景时机类别紧密配合,要求严谨。
【视图】
数据
vd
vcd
控件
值
可选值列表
属性
折叠状态
选中状态
......
颜色
大小
......
事件
布局
【场景/时机/事件/系统级行为/功能级行为】
开发 影响所有运行生命周期
开发代码
配置参数
运行
启动
模块加载全局生命周期
运行
用户登录用户会话生命周期
一次业务功能的执行(打开一个功能)一次完整业务功能生命周期
功能执行中用户操作的场景一次业务功能内完整操作的生命周期
一次请求一次http请求生命周期
从需求中找到场景,从场景中分析状态和逻辑
【场景时机类别范围枚举】
状态变化要求和逻辑类别,场景时机类别紧密配合,要求严谨。
系统级行为
启动
登录
一次业务功能的执行,打开一个功能
功能级行为
操作
行为事件
程序事件
【时序】
多个执行时机的先后顺序,影响状态是否按需求变化。
界面上一个操作没有响应回来,就开始下一个操作:
遮罩
一个操作多个事件:
文本失去焦点时,点击了另一个单选钮控件。
一个事件导致后端代码执行时,因为多层监听器导致时序复杂混乱:
界面修改A --> 后端修改A --> 公式修改B --> 公式修改C --> 公式修改A?
什么时候从控件到模型?
什么时候从模型到控件?
什么时候记录一些其他状态?
应用
------------------------------------------------------------
参数设计
单据录入
列表查询
......
相关推荐
NTA91B_NA_090808是该程序的一个特定版本,它可能是针对特定型号或系列的液晶显示器设计的。这个程序的主要功能可能包括调节屏幕亮度、对比度、色彩平衡,以及提供各种显示模式,如游戏模式、电影模式等。此外,它...
Bezier曲线是一种在计算机图形学中广泛应用的数学工具,...通过这个通用程序,用户不仅可以学习Bezier曲线的基本原理,还可以探索如何将它们应用于实际项目中。无论是对初学者还是专业人士来说,这都是一个宝贵的资源。
第三部分可能涉及模板和泛型编程,这是C++的一个强大特性,允许编写不依赖具体类型的功能,提高了代码的复用性。此外,还可能讨论STL(Standard Template Library),它是C++的标准库,包含容器(如vector、list和...
根据提供的标题、描述和标签,我们可以推断出这是一本关于C++程序设计原理与实践的书籍,并且是高清扫描版的PDF格式。虽然部分内容并未给出实际的文字内容,但从题目和描述中,我们可以深入探讨一些关于C++程序设计...
, 用现代C++语言编程:, 《C++程序设计原理与实践(英文版)》一方面介绍了通用的程序设计方法(包括面向对象程序设计和泛型程序设计)。另一方面还对软件开发实践中使用最广泛的程序设计语言——C++进行了很好的介绍...
该芯片的通用程序设计通常包含以下几个关键部分: 1. 初始化模块:负责设置W5300的寄存器,初始化网络配置,如IP地址、子网掩码、网关地址等,并建立与主处理器的通信接口。 2. 数据传输模块:实现数据的发送和...
在描述中提到的动画程序原理,是通过与声音同步来提升用户体验。在微机中,可以使用PIT的另一个通道或额外的定时器来控制屏幕上的动画。当音频中断发生时,同时更新动画状态,确保视觉效果与音频输出保持一致,从而...
WPF开发的通用升级更新程序。 原理:(下载压缩包并解压覆盖。) 1、主程序启动时调用 更新程序 exe 2、通过HTTP请求访问 获取最新程序版本号与 下载地址 3、比对当前程序版本是否一致 4、不一致则下载 对应地址的...
自己添加了书签目录,方便阅读”,我们可以推断出该资源是一本关于C++编程语言的书籍,其主要内容涵盖C++程序设计的基础原理与实践应用,并且为了便于读者查阅,作者或整理者还特意添加了书签目录。 ### C++程序...
《银行家算法通用程序学习详解》 银行家算法(Banker's Algorithm)是计算机科学中一种著名的资源分配和调度算法,由艾兹格·迪杰斯特拉在1965年提出,主要用于防止死锁的发生。它主要用于操作系统设计,确保系统在...
"农民讲习所"可能是指一个教学或自学的非正式组织,而“通用程序”和“通用库源码”则意味着该资料包含了一些可以广泛应用的代码片段和库文件,适用于多种单片机项目。 【描述分析】 描述中的“学习单片机编程思想 ...
"通用量规辅助设计程序V3.6(永久免费版)"正是针对这一需求,提供了一款强大而易用的设计软件,旨在帮助工程师们更高效地完成量规的设计任务。 这款程序的亮点在于它的“通用性”,这意味着无论你是螺纹量规还是...
本文将深入探讨PHP分页的实现原理和具体步骤,并通过一个名为“小贤PHP通用分页程序”的实例进行详解。 1. **分页原理** 分页的基本思想是将大量数据分成多个小块(页),每次只加载一部分数据到前端展示,用户...
"电力系统潮流计算通用程序"是一个使用C++编程语言开发的工具,它利用tinny2稀疏矩阵技术来优化计算效率,能够处理具有大量节点的电力网络,并且支持txt文件作为输入输出格式,便于数据交换和处理。 首先,我们要...
《通用图形处理器设计GPGPU编程模型与架构原理》是一本非常全面和深入的著作,详细介绍了GPGPU的编程模型和架构原理以及在各行业中的应用。这本书不仅适合于从事GPGPU相关工作的专业人士和技术人员阅读,也适合于对...
《微机原理与接口技术 实验原程序及原理图》是针对计算机科学中一门重要的课程——微机原理与接口技术的实践资料。该资源由张向东教授为合肥学院的学生们提供,旨在帮助他们深入理解和应用这门课程的核心概念。通过...
通过这些组件,通用RS232通讯程序V2.0能够为用户创建一个直观的环境,方便地配置串口参数,监控数据收发,并进行错误处理。同时,其兼容性和稳定性使得它在各种工业应用、实验室设备连接以及嵌入式系统开发中都有...