例を挙げて質問をよりよく説明します。データへのアクセスに使用できるインターフェイス モデルがあります。XMl 、 txt 形式など、さまざまな形式でデータを表すことができるモデルのさまざまな実装が存在する可能性があります。モデルは形式には関係ありません。そのような実装の 1 つがmyxmlModelだとしましょう。
ここで、 myxmlModelとModelの他のすべての実装をシングルトン パターンに従うように強制したいと考えています。通常の方法は、myxmlModelsコンストラクターをプライベートにし、myModel クラスのインスタンスを返す静的ファクトリ メソッドを提供することです。しかし、問題は、インターフェイスが静的メソッド定義を持つことができないことです。その結果、 Modelのすべての実装で特定の Factory メソッド定義を強制することはできません。したがって、ある実装はgetObject()を提供することで終了し、別の実装は get NewModel() を提供する場合があります。.
回避策の 1 つは、 myxmlModel のコンストラクターへのパッケージ アクセスを許可し、 myxmlModelオブジェクトを作成して後で使用するためにキャッシュする Factory クラスを作成することです。
同じ機能を達成するためのより良い方法があるかどうか疑問に思っていました。