我正在编写一个引用匹配程序,其中需要两个抽象工厂模式,这是两个接口;QuoteFactory和ModeFactory。ModeFactory 在EasyMode和HardMode之间切换,而 QuoteFactory 在几个不同的主题(即, PoliticalQuotes,SportsQuotes)之间挑选出报价。简而言之,用户将选择一种模式,如果选择 EasyMode,则用户必须猜测报价,而如果用户选择 HardMode,则告诉用户是谁说的,然后必须猜测,所以 Quotes 的实现将根据模式以及选择的报价而变化。
到目前为止,我已经创建了 ModeFactory 作为接口并将其实现为 EasyMode 和 HardMode,但现在我需要以某种方式将另一个抽象工厂模式(或更多)集成到这些模式中,以便可以选择引号。如果有帮助,我还创建了一个 Quote 类,其中定义了我的 Quotes。
谁能帮我想出这些抽象工厂的基本实现?这是我到目前为止的大纲,虽然我不禁觉得我以某种方式过于复杂了......
编辑:为了澄清我的意思:如果用户选择简单模式,那么他们会获得报价的开头和该报价的作者,而如果他们选择硬模式,则只会提供报价的开头。例如
简单模式: “我感受到了……的力量”何塞·穆里尼奥
困难模式: “我感受到了……的力量”
硬模式不会让作者让用户更难猜出报价的其余部分。另外,这不是学校作业。我一直在阅读 Head First Design Patterns,现在我正在尝试将我学到的知识应用到不同的情况中(而不是他们的 Pizza 示例,我正在研究一个 Quote Guessing Game,在阅读完 QI(英国电视节目) 书。
public interface ModeFactory {
public Mode retrieveMode(String s);
}
public interface QuoteFactory {
public Quote retrieveQuote(String s);
}