针对多变需求的设计建议

实际案例

最近接手一个任务系统,后台配置满满一篇的任务相关属性,包括了名称、类型等固定字段和各种各样可选的达成条件。数据模型的设计也就和试图模型一样,有很多字段,估计是长期不断加需求慢慢演变成这样的结果。
现在面临的问题是做任何改动逻辑都很复杂,所有的逻辑都是在分析同一个模型的各种字段。

糟糕的设计

需求是怎么样就数据模型和视图模型就都设计成什么样,不断的增加数据字段。

弹性设计

重要原则是:尽量保证数据模型的精简和视图模型的完整。也就是说,数据模型和视图模型是可以完全不同的,仔细分析需求,将固定属性项放到数据模型中,类似的可选项抽象成另一个数据模型。

实际案例改造

本例中,可以将达成任务的条件抽象出来,另外建一个数据模型,数据库存取和逻辑处理都用这个模型,要给视图时再转为视图模型。

你可能感兴趣的:(针对多变需求的设计建议)