与えられた: - 同じインターフェースの下で収集する必要があるさまざまな実装
不運: これらの実装にはメソッド「create」がありますが、入力パラメーターの数とタイプが異なります
ソリューション....? オブジェクトの可変引数以外にどのようなオプションがありますか?
与えられた: - 同じインターフェースの下で収集する必要があるさまざまな実装
不運: これらの実装にはメソッド「create」がありますが、入力パラメーターの数とタイプが異なります
ソリューション....? オブジェクトの可変引数以外にどのようなオプションがありますか?
次の 3 つのオプションが表示されます。
create()
。したがって、を含むインターフェイスを実装するオブジェクトのコンストラクターにパラメーターを追加するだけですcreate()
。create()
。そうすれば、インターフェイスが必要にcreate(ObjectWhichWantsCreation x)
なり、このメソッドは特定のオブジェクトから必要なすべてのデータを取得します。create(Properties p)
where Properties: http://docs.oracle.com/javase/6/docs/api/java/util/Properties.htmlこれは非常に一般的ですが、必要なデータが含まれていることを確認する必要があります。もちろん、メソッドを持つように 2 と 3 を変更し、最初に呼び出す必要があるcreate()
別のメソッドを追加することができます。setParams(SomeParams...)
インターフェイスでは、呼び出したい create のバージョンを決定できる引数として条件を受け取るメソッドを提供します。条件に基づいて、それぞれの create() 関数を呼び出すことができます。ロジックはFactory デザイン パターンと同じです。