Bu Fabrika Yöntemi yaratma kapasitesidir. | Netgez.com
SORU
30 NÄ°SAN 2009, PERÅžEMBE


Bu Fabrika Yöntemi yaratma kapasitesidir.

Bir süre fabrika yöntemi oluşturma desen şimdi kullanıyorum. Sadece son zamanlarda bu söylendi:

public static class ScheduleTypeFactory
{
    public static IScheduleItem GetScheduleItem(ScheduleTypeEnum scheduleType)
    {
        IScheduleItem scheduleItem = null;

        switch (scheduleType)
        {
            case ScheduleTypeEnum.CableOnDemandScheduleTypeID:
                {
                    scheduleItem = new VODScheduleItem();
                    break;
                }
            case ScheduleTypeEnum.BroadbandScheduleTypeID:
                {
                    scheduleItem = new VODScheduleItem();
                    break;
                }
            case ScheduleTypeEnum.LinearCableScheduleTypeID:
                {
                    scheduleItem = new LinearScheduleItem();
                    break;
                }
            case ScheduleTypeEnum.MobileLinearScheduleTypeID:
                {
                    scheduleItem = new LinearScheduleItem();
                    break;
                }
        }

        return scheduleItem;
    }
}

benim değil, fabrika yöntemi oluşturma bir desen "" bana söylemeden neden neden ya bana kendi yorumunu veriyor. Teknoloji Ben nazik bir açıklama istedi ve vakti olmadığını söyledi. Sadece yeniden adlandırmak için söylendi. Eğer yanılıyorsam, o zaman hiç şüphesiz yıllardır uygulanan bu yanlış olduğunu kabul ediyorum. Fabrika yöntemi oluşturma tasarım deseni nasıl? Şimdiden teşekkürler.

CEVAP
1 Mayıs 2009, Cuma


Bu yöntem bir ara kabul ederim "Fabrika Yöntemini" ama tasarımı kesinlikle bir değildir"". Factory Method Deseni< / ^ br . Burada önemli bir nokta (Wikipedia):

...Fabrika yöntemini sağlayan bir sınıf örnekleme alt sınıflar için." Ertele

Sınıf statik ve statik yöntem (dolayısıyla sanal olmayan) olduğundan, "" mümkün. ertelemek yok

Kavramsal olarak, bu uygulama, olsa da saklama sağlar, dikkat edin de,/herhangi bir karar gecikme ayrıştır değil.

Bunu söyledikten sonra, aynı Wikipedia makale olarak bu şema mevcutvaryant"". Factory Method Deseni

Özet Özet: bence bu parçasında değildoğruuygulanması "", "bir sınıf, alt sınıflar için örnekleme erteleme." tatmin olmadığı için Fabrika Yöntemi Tasarım Deseni OO Ama, kişisel olarak özgürce bu çözüme bakın ben de "fabrika yöntemini".

Bunu yapmak içingerçekfactory method deseni, yöntemi, alt sınıflar tarafından geçersiz kılınması için izin vermeniz gerekir. I. e. fabrika sınıfı genişletilebilir (yani statik olmayan), ve GetScheduleİtem gerekiyor sanal olması gerekir.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÃœL 2007
  • kruno j

    kruno j

    6 Mayıs 2007