在编程的粒度中,将模型设计为组件和系统之间的一个粒度。这是因为在信息系统开发中,大部分的业务功能都具有一定的模式,这些业务虽然具体处理的数据不同,界面的展现不同,但是处理的流程和模式都基本类似,具体实现的设计也基本统一,所以可以将这些模式进行抽象为模型。因此,通用模型就是从业务中抽象,与业务无关的通用功能模块,使用时与具体的业务进行融合形成一定的业务功能。
模型的底层是由组件组成,模型的上层对应着业务。通过模型可以进一步增大编程的粒度从而提高了软件开发的效率。在AIGC辅助编程中,如果利用AI大模型从组件直接生成业务功能,由于组件的多样性和复杂性,必然会使用更多更专业的提示,而且出错的概率也会大大增加。但是如果使用模型结合具体的业务数据和逻辑来进行生成,将会大幅减少提示的复杂性,同时也会规范AI的输出,既增加了效率同时又减少了出错。当然也可以利用AI先生成模型,然后再利用模型生成系统。
跟组件一样,模型的设计也并不是唯一的,不同的编程语言,不同的基础框架甚至不同的团队都有不同的设计模式。
下面通过一些具体的实例来介绍通用模型的设计原则和方式。
设计原则
1、通用性
模型的抽象首先要与具体业务无关,能够适配多种不同业务场景。
2、单一性
模型的功能边界要清晰,一个模型只能有一种功能,尽可能的保持简单一致。
3、稳定性
模型应该由统一的组件体系组成,同时要经过验证和测试,保证功能的可靠稳定
4、集成性
模型要能够方便与其他模型集成,一组模型应该具有统一的架构框架设计。
5、可读性
模型生成的代码要保持可读性,同时保持设计与实现一致和前后端一致性。
6、扩展性
模型生成的代码还要与主流的框架匹配,要能够很方便的与外部组件交互,进行二次开发。
通用领域模型
领域模型是对业务系统中的数据和服务进行建模,绝大部分的数据和服务模型能够分为以下几种:
1、基础模型
基础模型是所有领域数据模型的基类模型,主要完成了对数据库操作的封装,提供了基本的增删改查功能。一般情况下一个数据模型与数据库中的记录一一对应,这也就是对象的关系映射。基础模型也对应于后端设计中一个业务类,包含数据模型中的主要属性和常用方法:
属性:
方法:
2、基础层次模型
基础层次模型代表了一类具有层次结构的数据模型,也叫树状模型,其数据可以展开为树层次列表显示,如组织机构,分类等。基础层次模型也继承于基础模型。
属性:
方法:
3、基础服务模型
基础模型服务融合了数据模型,数据层次模型和数据查询模型,为数据提供了统一的对外服务接口。服务模型和数据模型以泛型的方式进行关联。
接口:
4、基础统计模型
提供了高效的多维统计算法,通过简单的参数设置,可以很方便对数据表进行统计。
属性:
方法:
5、统计服务模型
为统计模型提供服务接口,既可以输出统计结果,也可以根据条件查询统计明细。
接口:
通用界面模型
界面模型有:
1、单表视图
单表视图中,对单个表的信息的查看和操作,类似于经典的Excel。
视图中的要素有:
2、树表视图
树表视图是对层次结构的数据模型进行展现和操作,这一类数据结构的处理通常会用到“递归”算法,如组织机构等。
视图中的要素有:
3、一对多视图
一对多视图是针对数据库设计中一对多场景下的数据维护管理界面,如机构和机构中的人员或者是班级和班级中的学生,在这种场景中,通常将机构和班级的信息放在左侧,人员和学生的信息放在右侧表格,通过选择某一个机构和班级,然后对人员和学生进行维护。左侧的表格可以是基础表格数据也可以是层次树结构数据。
视图中的要素有:
4、列表详情视图
列表详情视图是常用的信息展示视图,整体布局分为左右两个部分,左边为主要表格,展示一个数据列表,右边是一个Tab页,可以通过设置进行显示和隐藏。在Tab页中,可以显示多个与主表格中数据相关的信息。可以是数据的详情也可以是多个一对多的信息。
视图中的要素有:
5、统计视图
统计视图对应于数据的统计显示信息,在后台中通常对应一个统计数据模型。视图中主要是一个图表,根据统计结果可以显示为柱状图,折线图和扇形图等,另外也可以有一个表格用来显示统计数据的明细信息。统计的图表一般可以导出为图片。
视图中的要素有:
6、可视化大屏视图
可视化大屏视图一般是对应在系统的首界面,用来统一显示多个统计视图或者系统的关键信息。主要实现是通过一个布局网格对多个统计的图表进行排列布局。
视图中的要素有:
通用流程模型
流程模式是对界面和领域模型的一组操作,用户首先进入某个界面,然后通过界面对领域模型进行操作。
1、增删改查
增删改查,是一组经典的数据操作模式。一般情况下,任何的数据库表对于用户都应能够进行增删改查,但也有例外,如日志表智能插入无法修改。
在大多数的界面视图中,都包含这四个操作,可以视为一组步骤,有时为了简化也可以打包为一个步骤。
在这个步骤中包含的操作:
2、导入导出
导入导出是批量进行增加数据的一种方式,一般是从Excel中进行导入,同时导出为Excel或者PDF和Word。导入导出虽然简单,但是需要验证是否重复导入,和对每一条信息进行校验。
在这个步骤中包含的操作:
3、查询统计
查询统计是对数据的一组查询统计操作,通过输入查询条件,然后对筛选出的数据进行统计显示。
在这个步骤中包含的操作:
4、流程审批
流程审批是工作流程的一种形式,通过发起申请,然后通过工作流引擎进行驱动,选择流程设置中的人员进行审批,可以在流程中查看发起的流程,流程的动态信息和处理结果。
在这个步骤中包含的操作:
5、通知消息
通知消息也是信息系统中常见的操作流程。消息可以群发,也可以选择某个人进行发送。用户收到消息后,是未读状态,查看后为已读状态。可以根据实际的业务情况设置为处理状态。
在这个步骤中包含的操作: