您实际上违反了SRP(单一职责原则),因此,每当添加新语言时,都需要触摸此代码库。
为了避免列出大量
if elsestatements,您需要一个松散耦合的设计,其中
addLetters()行为应在单独的
LanguageImpl类(如英语等)中实现,如下面的代码所示,该代码使用状态模式:
步骤(1):定义Language
界面
public interface Language { addLetters(); }步骤(2):定义Language
实现
public English implements Language { //implement addLetters() for English } //Implement other Language Classes as well in separate classes步骤(3):修改setUpBag
带Language
对象的方法
public void setUpBag(Language language){ language.addLetters(); }每个
Language类都遵循SRP,这是设计OOP应用程序的关键,即每个语言类仅处理特定的行为。
您可以在这里查看更多详细信息。



