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

  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013
  • Nickcidious

    Nickcidious

    6 HAZİRAN 2011
  • SRI International

    SRI Internat

    30 NİSAN 2008