火星人代码示例:系统设置(asp.net MVC3中View的复用示例)
功能简介
最终功能如图:
上面一行两张图,是火星人的用户故事树配置界面,在每个用户故事的后面都有一个按钮(悬停可见),点击后出现操作菜单,其中一部分是新建下级故事菜单。
若用户选择左侧,菜单上只包括一个项目“通用故事”;若选择右侧,则包括很多故事(受当前故事类型的约束,这个比较复杂以后再说)。
这段代码,等一下将会出现关键字“StoryTreeType”,左侧叫做“Simple”(简单树),右侧叫做“Leveled”(等级树)。
下面一行两张图,是火星人的状态链配置界面,在上面提到的操作菜单上,除了能新建故事之外,还能将当前故事转移到另外一个状态。
若用户选择左侧,菜单上只包括与开发相关的状态(新建-待开发-开发中-开发完毕-部署完毕);做选择右侧,则会出现所有状态(新建后有审批等环节,而部署过程也包括多个状态)。
这段代码,等一下将会出现关键字“StatusList”,左侧叫做“DevelopmentOnly”(仅包含研发状态),右侧叫做“All”(所有)。
Controller部分的代码略过,重点看Model和View的封装。
第一步:开发出StoryTreeType部分的Model代码其实,整个火星人的产品,就是在这种积木代码中产生的,有很多意想不到的地方都是只要1~2行代码就能调用出来(故事树、组织结构图、燃尽图、所有菜单(每个菜单都是延迟加载的)……)
这种习惯一旦养成了,代码就会越来越精练,而编写过程也越来越简单。