1

以下のリンク: java.lang.Object#toString() がファクトリ パターンの例であるJava のコア ライブラリの GoF デザイン パターンの例。私はこれについて混乱しています。私が今まで理解したことは、オブジェクトを作成するためにファクトリパターンが使用されているということです。誰かがそれをもっと明確に説明できますか?

4

2 に答える 2

2

本質的に、ファクトリ パターンは、何かを生成するメソッドを指定する抽象クラスまたはインターフェイスです。次に、実装があり、その実装から何かを構築できます。

ここに次のものがあります。

抽象クラスまたはインターフェース: オブジェクト

ビルド方法: toString()

実装: 任意の Java オブジェクト

製品: ひも

そうですね、これは少し変わった例で、もっと良い例もありますが、工場のモデルには合っています。

于 2012-09-25T23:44:02.090 に答える
0

ファクトリ デザイン パターンは、複数のサブクラスを持つスーパー クラスがあり、入力に基づいてサブクラスの 1 つを返す必要がある場合に使用されます。通常、提供された入力に基づいて異なるタイプのオブジェクトを返す getInstance() メソッドが存在します。よりよく理解するために、この例を参照できます。Java API では、カレンダー クラスは入力に基づいて異なるカレンダー オブジェクトを返します。

static Calendar getInstance()
Gets a calendar using the default time zone and locale.

static Calendar getInstance(Locale aLocale)
Gets a calendar using the default time zone and specified locale.

static Calendar getInstance(TimeZone zone)
Gets a calendar using the specified time zone and default locale.

static Calendar getInstance(TimeZone zone, Locale aLocale)
Gets a calendar with the specified time zone and locale.

JDK で使用される Factory パターンの例:

java.util.Calendar, ResourceBundle and NumberFormat getInstance() methods

于 2019-07-03T13:22:32.523 に答える