12

CRUD 代码生成的四个核心问题

 3 years ago
source link: https://zhuanlan.zhihu.com/p/245027602
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

CRUD 代码生成的四个核心问题

problem solver

简单的单表 CRUD 生成谁都会做。但是复杂一点的就感觉不是那么好弄。但啥叫复杂的呢?又说不上来。然后扔下来一句,CRUD 生成是行不通的,代码还得手撸。

其实所谓的复杂,就是一些交互设计上的模式。而模式呢,就是常见“解决方案”。所有的解决方案都是针对问题的。只要我们抓准了问题,所有的解决方案都可以顺藤摸瓜地找出来。CRUD 相关的交互核心是解决这么4个诉求

  • To navigate easily
  • To edit/act within informed context
  • To express change naturally
  • To experiment change confidently

To navigate easily

表现起来就是搜索框,筛选器这些东西。也可能是菜单栏,树形框这样的交互样式。

To edit/act within informed context

内联编辑(inline editing),层叠式的表格和表单,弹框,半弹框。这些的目的都是在一个上下文里直接做编辑,而不让用户频繁跳页。

To express change naturally

多张图片的拖拽重排序,Jira看板那样的改变状态,树形菜单的拖拽重排,左滑删除。这些都是为了用更直观的方式,更拟物的方式来表达变更。

To experiment change confidently

用户就是想要改改看。既要改,又要看(预览,试算)。然后还不要影响其他人,以及正在使用这份数据的地方。那么如何处理“未保存”的修改,以及如何处理一个对象的多个版本。核心是要用户不紧张,知道自己是在打草稿。

总结:共性来源就是“人”

所谓CRUD,就是通用人工编辑。更细化一些的,还包括人工参与的审批流系统,人工参与处理的工单分派,特别是客服工单分派系统。这些系统之所以可以沉淀出预制件来,就是因为这些领域是有高度共性的。而这些共性的来源就是人类的交互习惯本身。其实就是一堆 User Interaction Patterns。

你会拿 Jira 来“生成”你的业务系统的后台么? 大概率是不会的,因为

  • Jira 本身沉淀的交互模式是为项目管理下的工单分派优化的。在父子表单等场景下,并没有足够多的选择项。很可能不能满足你的交互设计。
  • Jira 本身的元数据模型是要尽量简化的,扩展元数据和扩展代码生成器都很麻烦。
  • Jira 本身是一个 nocode 系统,而不是 lowcode 系统。需要开箱即用,很难和业务系统的 code 部分进行无缝粘合。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK