C# 自定义字段的设计与实现 - 可以应对不同的实体对象

自定义字段又叫做“开放模型”,客户可以根据自已的需求,为某些实体*添加需要的字段,实现个性化定制。

如现有一套CRM系统,客户模块中客户信息,需要实现不同行业,不同业态都可以个性化需求。

那我们知道客户信息表Customer, 有 姓名,性别,电话,地址等基本通用属性,但如药疗行业客户需要记录体重,血压等,而运输行业的客户更关注货物品类,产量等,而又如快速消费品行业关注客户的爱好,年龄,星座啊,这些问题该如何处理呢?


对自定义字段的类型设计

主要包括:文本框(TextType), 数字框(NumberType),下拉列表框(EnumType),日期选择器(Datetime)。并能对这些属性做默认设置或选项设置。

自定义字段的扩展设计
是否设置字段默认值;字段填写的校验规则(例如校验长度、格式等)。

表结构设计
有些情况下要配合实体模板,控制一些自定义字段只为某些实体显示,那么数据库设计需要灵活的支持。CustomField表中的Category可以支持不同的Entity。Type区分不同的字段类型。Settings存储不同类型字段的一些配置项,可以以Json字符串格式存储。

C# 自定义字段的设计与实现 - 可以应对不同的实体对象
UI 上的实现(截图)

list page:
C# 自定义字段的设计与实现 - 可以应对不同的实体对象

 

 

edit/add page:
C# 自定义字段的设计与实现 - 可以应对不同的实体对象C# 自定义字段的设计与实现 - 可以应对不同的实体对象C# 自定义字段的设计与实现 - 可以应对不同的实体对象

 

 C# 自定义字段的设计与实现 - 可以应对不同的实体对象

 

  

C# 自定义字段的设计与实现 - 可以应对不同的实体对象

上一篇:PAINTER绘制月光下梦幻女孩插画


下一篇:Photoshop为铁轨上的美女调制出梦幻的淡蓝色