@windwolf
2020-05-19T06:34:10.000000Z
字数 1328
阅读 359
Sailing
Sailing的目标之一就是屏蔽技术细节, 提供高层(业务层)的思维方式和操作界面.
设计器也应该以此为目标之一.
以下按照重要性列出了设计器中需要实现的特性
- 按模块组织
- 为主要场景设定默认值, 提供最小配置模式
- 按主要场景来设计操作流程, 减少入口. (但还是需要为"高级模式"保留所有可能的入口)
- 对内容较多的元数据, 按用途调整布局.
- 为QSS提供语法高亮和Intellisence
- 为UI提供拖放操作
目前设计器中元数据是按照元数据种类来组织的, 这种方式一方面太过技术化, 另一方面增加了操作的复杂性.
例如: 在明细单主表中增加了一个数量合计字段, 此时需要:
1. 打开UI列表, 找到UI, 添加数量合计字段的显示.
2. 打开实体计算列表, 找到实体计算, 添加计算规则.
3. 打开XXX列表, 找到XXX, XXX
如果按照模块组织. 那么场景是这样的.
1. 展开明细单模块, 展开明细单这个单据, 打开明细单这个单据类型
2. 修改UI
3. 修改实体规则
4. 修改XXX
这样的交互就比较流程, 不会让人摸不着头脑
例如目前主要的验证器, 初始化器, UI, Process的复用等, 基本上都是在单据, 单据转换, 单据跟踪等地方独立使用的, 复用的需要不高, 那么最好能够在创建单据, 单据类型, 单据转换, 单据跟踪时, 直接内嵌编辑以上内容, 操作体验上拟合这是两种元数据的裂痕.
由于应用中确实存在单独使用以上元数据的情况, 所以在非主要层次中保留可以访问模块下所有元数据的入口.
紧凑紧凑再紧凑. 对UI等需要控制最终展现方式的元数据, 尽量做到所见即所得; 对其他元数据, 能用列表的用列表, 项目是在太多的, 才考虑块.