|
1、利用面向对象的原则,将我们面对的功能拆分出相关对象
2、相同功能只应出现在一个类中。
3、相似功能尽量提取其公共部分
总的目标简单来说就是:精减代码量。
我们以一个动态条件查询界面来说明一下上面几点
这是一个病案查询功能,左则的列表是所有可供选择的字段,中间是用户要求查询的字段,右侧的某一个查询字段的条件。
组织这个界面功能要用到哪几个类呢?
结果不是唯一的,每个人都可以有自己的想法。但我认为,组织一个更多人容易理解的方式应该是我们的目标。
首先浮现我们脑子的,应该是两个对象:所有的字段、字段查询范围
研究一下所有字段的规则,更多时候应该跟客户面对面的聊。我们发现部分字段使用相同的查询范围录入界面。
所以这里似乎隐藏了一个字段类型。就是某一类的字段的行为是一致的,界面录入、条件生成等行为是一致的。
字段查询范围、字段类型都很容易让人想到这两个是字段的属性,而不是构造主要元素的功能对象。
是的,从名字来看就很容易让人迷惑。但如果我将名字换成“查询范围”、“行为控制器”,你可能会明白我的用意。
三个对象:字段、查询范围、行为控制器
左侧显示就是所有“字段”,中午显示的是所有的“查询范围”,行为控制器必然是一个接口,让主程序可以优雅的处理所有类型的字段。
上图是中间查询范围选中事件的代码,这个主程序就能应对N种字段的显示。
本文只发布在博客园,未经同意请勿转载!
来源:https://www.cnblogs.com/kevin-Y/archive/2023/10/27/17792071.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|