小编maj*_*tic的帖子

设计模式如何在使用List时避免instanceOf

想象一下,你有菜单,每道菜应该有多种语言(法语,英语,阿拉伯语......).本Dish类包含一个列表Language类型的对象.

class Dish { 
     List<Language> languages
     void addLanguage(Language lg){...}
}
class Language { getDescription(){}}

class French extends Language{}

class Menu {List<Dish> dishes }
Run Code Online (Sandbox Code Playgroud)

instance of如果想要对该菜肴的特定语言进行描述,我该如何避免使用?

我应该为每种语言定义一个类中的get方法:getFrench(),getArabic(),..?

或者我应该将其保留在列表中并通过循环列表检查法语的实例,然后调用getDescription()list object<language>

或者有更多的多态方法吗?

java design-patterns

6
推荐指数
1
解决办法
121
查看次数

标签 统计

design-patterns ×1

java ×1