タグ付けされた質問 「abstract-factory」

19
FactoryとAbstract Factoryのデザインパターンの基本的な違いは何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 ファクトリパターンと抽象ファクトリパターンの基本的な違いは何ですか?

16
抽象ファクトリーとファクトリーデザインパターンの違いは何ですか?
これら2つのパターンの違いについては多くの投稿があることは知っていますが、見つけられないことがいくつかあります。 私が読んでいることから、ファクトリメソッドパターンを使用すると、単一の具体的な製品を作成する方法を定義できますが、一般的な製品を表示するため、クライアントから実装を隠すことができます。私の最初の質問は、抽象ファクトリーについてです。その役割は、単一のコンクリートオブジェクトだけでなく、使用する具体的なファクトリに依存するコンクリートオブジェクトのファミリを作成できるようにすることですか?抽象ファクトリーは、呼び出すメソッドに応じて、非常に大きなオブジェクトを1つだけ返すのか、それとも多くのオブジェクトを返すのですか? 私の最後の2つの質問は、私が多くの場所で見たことを完全には理解できない単一の引用に関するものです。 2つの違いの1つは、抽象ファクトリパターンでは、クラスがオブジェクトのインスタンス化の責任を合成によって別のオブジェクトに委譲するのに対し、ファクトリメソッドパターンは継承を使用し、サブクラスに依存して目的のオブジェクトのインスタンス化を処理することです。 私の理解では、ファクトリー・メソッド・パターンにはCreatorインターフェースがあり、これにより、具象化するConcreteProductを、ConcreteCreatorが管理できるようになります。これは、継承を使用してオブジェクトのインスタンス化を処理することの意味ですか? さて、その引用に関して、抽象ファクトリパターンは、オブジェクトのインスタンス化の責任を、合成を介して別のオブジェクトにどのように委任するのでしょうか。これは何を意味するのでしょうか?抽象ファクトリパターンも、継承を使用して構築プロセスを実行しているように見えますが、やはりこれらのパターンについてはまだ学習しています。 特に最後の質問で何か助けていただければ幸いです。


10
デザインパターン:抽象ファクトリとファクトリメソッド
注:質問は投稿の最後にあります。 Abstract FactoryとFactory Methodに関する他のスタックオーバーフロースレッドを読みました。各パターンの意図を理解しています。しかし、私はその定義を明確にしていません。 Factoryメソッドは、オブジェクトを作成するためのインターフェースを定義しますが、インスタンス化するものをサブクラスに決定させます。ファクトリメソッドを使用すると、クラスはインスタンス化をサブクラスに遅らせることができます。 対照的に、抽象ファクトリは、具体的なクラスを指定せずに、関連するオブジェクトまたは依存するオブジェクトのファミリを作成するためのインターフェースを提供します。 - ジョン・フェミネラ 抽象ファクトリーと非常によく似ていますファクトリメソッド。私のポイントを説明するために、いくつかのUMLクラスを描画しました。 注意: 図はwww.yuml.comからのものですので、完全に方向付けられていません。しかし、それは無料のサービスです:)。 図は完全ではない場合があります。GoFのデザインパターンはまだ学習中です。 工場での方法: 抽象ファクトリー(1メンバーのみ): 抽象ファクトリー(より多くのメンバー): 質問: 場合抽象工場は一つだけ作成者と一つの製品を持っている、それはまだある、抽象ファクトリパターン?(家族を作成するためのインターフェース) ファクトリメソッドコンクリートクリエーターをインターフェイスから作成できますか、それともクラスから作成する必要がありますか?(クラスはインスタンス化をサブクラスに延期します) 抽象工場は一つだけ作成者と一つの製品を持つことができる場合は、唯一の違いである抽象工場とファクトリメソッド元のための作成者が、後者はクラスであるためにインターフェイスと作成者であることは?

14
なぜ抽象ファクトリデザインパターンが必要なのですか?
定義のほとんどは言う: 抽象ファクトリーは、具体的なクラスを指定せずに関連オブジェクトのファミリーを作成するためのインターフェースを提供します 具象クラス自体のオブジェクトを作成することでタスクを達成できるため、抽象ファクトリパターンの使用方法は何ですか。Concreteクラスのオブジェクトを作成するファクトリメソッドがあるのはなぜですか? abstractFactoryパターンを実装する必要がある実際の例を教えてください。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.