SORU
17 Kasım 2010, ÇARŞAMBA


Design Patterns: Abstract Factory vs Fabrika Yöntemi

Not: Sorular yazının sonunda.

Diğer stackoverflow ile ilgili konuları okudumSoyut Fabrika vs Fabrika Yöntemi. Her desen niyetini anlıyorum. Bununla birlikte, tanımı konusunda net değilim.

Fabrika Yöntemi arabirim tanımlar bir nesne yaratmak için, ama sağlar alt sınıflar için karar başlatılamadı. Fabrika bir yöntem sağlar sınıflar için örnekleme erteleme alt sınıflar.

Buna karşılık, Soyut bir Fabrika oluşturmak için bir arabirim sağlar ilgili veya bağımlı aileler onların belirtmeden nesneleri beton sınıfları.

-John Feminella

Soyut Fabrikagörünüyor çok benzerFabrika Yöntemi. Birkaç UML sınıfları tezimi kanıtlamak için çizdim.

Not:

  • Diyagram vardırwww.yuml.commükemmel odaklı değiller. Ücretsiz bir hizmet :) ama onun.
  • Diyagramlar mükemmel olmayabilir. Hala öğreniyorumGoFtasarım desenleri.

Fabrika Yöntemi:

Factory Method

Soyut Fabrika (sadece 1 Üye):

Abstract Factory (only 1 member)

Soyut Fabrika:

alt text

Soru:

  1. EğerSoyut Fabrikasadece tek bir yaratıcı ve tek bir ürün, hala vardırSoyut Fabrikadesen?(ailenin oluşturmak için bir arayüz)
  2. OlabilirFabrika Yöntemibeton yaratıcı bir Arayüz oluşturulabilir veya bir sınıf olmak zorunda mı?(sınıflar, alt sınıflar için örneklemesi erteleme)
  3. Eğer Soyut Fabrika tek bir yaratıcısı ve tek bir ürün var, arasındaki tek farkSoyut FabrikaveFabrika Yöntemieski için yaratıcı bir Arayüz ve ikincisi için yaratıcı bir Sınıf mı?

CEVAP
18 Kasım 2010, PERŞEMBE


Bu yardımcı olur umarım. Fabrikaların çeşitli türlerini açıklar. Benim referans olarak Head First Design Patterns kullandım. yuml.me diyagram kullandım.

Statik Fabrika

Ürün için Statik bir Yöntem ile bir sınıf Ürünün çeşitli alt türleri vardır.

Static Factory

Basit Bir Fabrika

Ürün çeşitli alt tabakasından bir sınıftır. (Statik Fabrika daha iyidir. Yeni tip eklendiğinde Bankası Ürün sınıfı, sadece Basit bir Fabrika Sınıfı) değiştirilmesi gerekmez

Simple Factoryt

Fabrika Yöntemi

İçeren bir yöntem, ürün türü kendi türü ile ilgili üretim yapmak. (Bu tür alt sınıf için ertelenmiş çünkü daha Basit bir Fabrika daha vardır.)

Factory Method

Soyut Fabrika

Üreten Türleri bir Aile ile ilgili. Ürettiği türde birden fazla yöntem vardır Fabrika gibi bir Yöntem daha belirgin bir şekilde farklıdır. (Bu karmaşık daha iyi gerçek hayatta örneğin bir sonraki çizime bakınız).

Abstract Factory

Gelen Örnek .NET Çerçeve

DbFactoriesProvider-alt türleri vardır hayır gibi Basit bir Fabrika. Bu DbFactoryProvider bağlantı ve komut nesneleri gibi çeşitli ilgili veritabanı nesneleri oluşturabilir gibi soyut bir fabrika.

Abstract Factory From .NET Framework

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • talkandroid

    talkandroid

    27 Mayıs 2010
  • UberFacts

    UberFacts

    26 EKİM 2013
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010