C#入门:如何合理制定方法参数-上

1、利用面向对象的原则,将我们面对的功能拆分出相关对象

2、相同功能只应出现在一个类中。

3、相似功能尽量提取其公共部分

总的目标简单来说就是:精减代码量。

我们以一个动态条件查询界面来说明一下上面几点

 这是一个病案查询功能,左则的列表是所有可供选择的字段,中间是用户要求查询的字段,右侧的某一个查询字段的条件。

组织这个界面功能要用到哪几个类呢?

结果不是唯一的,每个人都可以有自己的想法。但我认为,组织一个更多人容易理解的方式应该是我们的目标。

首先浮现我们脑子的,应该是两个对象:所有的字段字段查询范围

研究一下所有字段的规则,更多时候应该跟客户面对面的聊。我们发现部分字段使用相同的查询范围录入界面。
所以这里似乎隐藏了一个字段类型。就是某一类的字段的行为是一致的,界面录入、条件生成等行为是一致的。

字段查询范围、字段类型都很容易让人想到这两个是字段的属性,而不是构造主要元素的功能对象。

是的,从名字来看就很容易让人迷惑。但如果我将名字换成“查询范围”、“行为控制器”,你可能会明白我的用意。

 

三个对象:字段、查询范围、行为控制器

左侧显示就是所有“字段”,中午显示的是所有的“查询范围”,行为控制器必然是一个接口,让主程序可以优雅的处理所有类型的字段。

 上图是中间查询范围选中事件的代码,这个主程序就能应对N种字段的显示。

 

本文只发布在博客园,未经同意请勿转载!

posted @ 2023-10-27 12:08  生命体验之kevin-Y  阅读(159)  评论(0编辑  收藏  举报