2 つの抽象ファクトリ パターンが必要な引用一致プログラムを作成しています。これらは 2 つのインターフェイスです。QuoteFactoryとModeFactory。ModeFactory はEasyModeとHardModeを切り替え、QuoteFactory はいくつかの異なるサブジェクト (つまり、 PoliticalQuotes、SportsQuotes ) の間で引用を選び出します。簡単に言えば、ユーザーはモードを選択します。EasyMode が選択された場合、ユーザーは引用を推測する必要がありますが、ユーザーが HardMode を選択した場合、ユーザーは誰が引用を言ったかを知らされてから推測する必要があるため、Quote の実装はモードと選択した引用符に応じて変化します。
これまでのところ、インターフェイスとして ModeFactory を作成し、それを EasyMode と HardMode に実装しましたが、別の抽象ファクトリ パターン (またはそれ以上) をこれらのモードに統合して、Quote を選択できるようにする必要があります。役立つ場合は、Quotes が定義されている Quote クラスも作成しました。
これらの抽象ファクトリの基本的な実装を考え出すのを手伝ってくれる人はいますか? これは私がこれまでに持っているものの概要ですが、なんとなく複雑になりすぎていると感じざるを得ません...
編集: 私が言いたいことを明確にするために: ユーザーがイージー モードを選択すると、引用の開始とその引用の作成者が提供されますが、ハード モードを選択すると、引用の開始のみが提供されます。例えば
イージーモード: 「…の力を感じた」ジョゼ・モウリーニョ
ハードモード 「……のパワーを感じた」
ハードモードでは、作成者は、ユーザーが引用の残りを推測するのを難しくすることはできません。また、これは学校の課題ではありません。私は Head First Design Patterns を読んでいて、学んだことをさまざまな状況に適用しようとしています (ピザの例の代わりに、QI (英国のテレビ番組) を読んだ後、Quote Guessing Game に取り組んでいます) ) 本。
public interface ModeFactory {
public Mode retrieveMode(String s);
}
public interface QuoteFactory {
public Quote retrieveQuote(String s);
}