SORU
24 EYLÜL 2008, ÇARŞAMBA


Castle Windsor, nedir ve neden umursayayım?

Uzun süredir Windows geliştirici win 32 ve erken COM benim diş kesmek yaşıyorum. Ben çalıştırdım .C 2001, çok güzel akıcı olduğum için Net# ve CLR. Asla Yığın Taşması katılan başlayana kadar Kale Windsor duymuştum. "" Rehberi, ama işe yaramıyor. Başlarken Kale Windsor okudum

Bu eski köpeğe yeni numaralar öğretemezsin, ve kurumsal uygulamalar içine Castle Windsor entegre olmam gerektiğini söyle.

CEVAP
24 EYLÜL 2008, ÇARŞAMBA


Castle Windsor kontrol aracı gidilmiştir. Bunun gibi başkaları da var.

Sen önceden oluşturulmuş ve pre-kablolu bağımlılıkları oraya doğru ile nesneleri verebilir.Tüm nesne grafiği yansıma ve yapılandırma ile oluşturulan yerine "new" operatörü.

Buradan başlayın: http://tech.groups.yahoo.com/group/altdotnet/message/10434


E-posta gönderen bir sınıf olduğunu varsayalım. EmailSender. Başka bir sınıf WorkflowStepper var düşünün. WorkflowStepper içinde EmailSender kullanmanız gerekir.

Her zaman new EmailSender().Send(emailMessage); diyebilirsin

ama bu - new - kullanımı değiştirmek zor SIKI bir KAVRAMA oluşturur. (bundan sonra tüm küçük yapmacık bir örnektir)

Eğer bu kötü çocuk WorkflowStepper içinde newing yerine, sadece yapıcı geçti.

Arayan her kimse çok sonra EmailSender yeni gerekiyordu.

new WorkflowStepper(emailSender).Step()

Düşünün bir sorumluluk (google SRP).. bu küçük sınıfların yüzlerce var ve WorkflowStepper içinde bir kaç tanesini kullanın:

new WorkflowStepper(emailSender, alertRegistry, databaseConnection).Step()

WorkflowStepper AlertRegistry yazarken endişe verici değil EmailSender ayrıntıları hakkında düşünün

Sadece çalıştığınız endişe endişe.

Tüm bu grafik (ağaç) nesneleri ve bağımlılıklar bunu yaptığınızda: böylece ÇALIŞMA zamanında kablolu, alır düşünün

WorkflowStepper stepper = Container.Get<WorkflowStepper>();

tüm bağımlılıkları ile 8* *gerçek bir anlaşma otomatik olarak onlara ihtiyacınız dolu olsun.

new yoktur

Sadeceolur- çünkü ne ihtiyacı var ne de bunu biliyor.

Ve test edilebilir ve tekrarlanabilir bir şekilde daha iyi tasarlanmış, KURU kodu ile daha az hata yazabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011
  • newport83

    newport83

    19 HAZİRAN 2006
  • sWooZie

    sWooZie

    9 ŞUBAT 2006