標準のファクトリ メソッド設計パターンは、4 つのクラスについて話します。Creator、Product n の具体的な実装。
したがって、製品ごとに、製品を作成するメソッドを持つ対応するファクトリをインスタンス化する必要があります。
しかし、コンストラクターをプライベートとして宣言し、同じクラスのオブジェクトを作成する静的メソッドを持っているシナリオも見てきました。シングルトンで行うことに似ています。
たとえば、getByname は InetAddress の静的メソッドの 1 つで、パラメーターに応じてそのサブクラスの 1 つを返します。そして人々はそれをファクトリーメソッドと呼んでいます。
これもファクトリメソッドパターンの例ですか?パラメータまたはスイッチステートメントをデコードするメソッド内に if-else-if が含まれていますか? しかし、switch n 条件ステートメントの使用は、OO 設計の悪い慣例と見なされていませんか?