假设我有多个用户控件,每个用户控件都在一个选项卡项内,再放在一个窗口里。
例如,假设这是一个食品收藏应用程序。那么我们有水果、蔬菜和零食三个选项卡。每个选项卡将显示该主题的食品列表,并允许用户添加、删除、修改每个部分中的食品。食品存储在单独的文本文件中,即Fruit.txt、Vegetable.txt和Snack.txt。
实际的文本文件可能看起来像这样(vegetable.txt):
现在有一个很大的列表,有一个load方法可以将所有蔬菜提取到List中。我的问题是这个loadVegetables方法在后台代码文件中,因为我还有其他屏幕,比如ReviewAllFood、AddVegetable等,以及水果和零食的所有load方法,所以我最终会在各个地方重复这个load方法。
这更像是一个设计问题,我想知道如何设置来避免重复的代码。我可以有一个VegetableManager(或其他名称)类,其中包含load方法,但这实际上是否意味着减少了重复的代码?然后,在每个屏幕中,我仍然需要创建VegetableManager对象并调用其load方法。所以从效率上讲,这并没有更好,但我确实实现了更好的设计。
我觉得我在这里缺少了什么。已经有一段时间没有学习过内聚性和耦合性,我觉得我现在正在混淆自己。如果有人能建议一种适合这种情况的设计,并解释为什么选择它以及为什么比我目前的做法更好,那就太感谢了。
感谢阅读。
例如,假设这是一个食品收藏应用程序。那么我们有水果、蔬菜和零食三个选项卡。每个选项卡将显示该主题的食品列表,并允许用户添加、删除、修改每个部分中的食品。食品存储在单独的文本文件中,即Fruit.txt、Vegetable.txt和Snack.txt。
实际的文本文件可能看起来像这样(vegetable.txt):
Name Carbs Fat
Eggplant 2 1.1
Cucumber 3 0.5
etc
现在有一个很大的列表,有一个load方法可以将所有蔬菜提取到List中。我的问题是这个loadVegetables方法在后台代码文件中,因为我还有其他屏幕,比如ReviewAllFood、AddVegetable等,以及水果和零食的所有load方法,所以我最终会在各个地方重复这个load方法。
这更像是一个设计问题,我想知道如何设置来避免重复的代码。我可以有一个VegetableManager(或其他名称)类,其中包含load方法,但这实际上是否意味着减少了重复的代码?然后,在每个屏幕中,我仍然需要创建VegetableManager对象并调用其load方法。所以从效率上讲,这并没有更好,但我确实实现了更好的设计。
我觉得我在这里缺少了什么。已经有一段时间没有学习过内聚性和耦合性,我觉得我现在正在混淆自己。如果有人能建议一种适合这种情况的设计,并解释为什么选择它以及为什么比我目前的做法更好,那就太感谢了。
感谢阅读。