मैं इन दो तरीकों के बीच अंतर के रूप में उत्सुक हूं। मैं खुले जेनेरिक के साथ एक सजावटी पैटर्न को कार्यान्वित कर रहा हूं और क्या मैं AddAllTypesOf
या ConnectImplementationsToTypesClosing
का उपयोग करता हूं, इससे कोई फर्क नहीं पड़ता, मुझे वही कार्यक्षमता मिलती है।AddAllTypesOf बनाम कनेक्टिमेंट्स ToTypes बंद करना
public class CommandRegistry : Registry
{
public CommandRegistry()
{
For<CommandProcessor>().Use<DefaultCommandProcessor>().Transient();
Scan(scanner =>
{
scanner.AssemblyContainingType<SaveCoolCommandHandler>();
//scanner.AddAllTypesOf(typeof(CommandHandler<>));
//scanner.AddAllTypesOf(typeof(IValidator<>));
//scanner.AddAllTypesOf(typeof(LogMehh<>));
scanner.ConnectImplementationsToTypesClosing(typeof(CommandHandler<>));
scanner.ConnectImplementationsToTypesClosing(typeof(IValidator<>));
scanner.ConnectImplementationsToTypesClosing(typeof(LogMehh<>));
});
var handlerType = For(typeof(CommandHandler<>));
handlerType.DecorateAllWith(typeof(CommandValidator<>)); //Second
handlerType.DecorateAllWith(typeof(CommandLogger<>)); //First
// ObjectFactory.WhatDoIHave();
}
}
ObjectFactory.WhatDoIHave()
करने के लिए कॉल भी मुझे एक ही परिणाम कोई फर्क नहीं पड़ता कि कौन सी विधि मैं चुन देता है।
मैंने स्रोत कोड को देखा है और ये विधियां निश्चित रूप से अलग-अलग चीजें कर रही हैं, मैं बस यह निर्धारित करने में सक्षम नहीं हूं कि अंतर क्या है। क्या कोई दिशा-निर्देश या परिदृश्य हैं जब किसी को दूसरे पर पसंद किया जाता है?
ग्रेट उत्तर, यह दिलचस्प है, मैं उन परिदृश्यों को नए संस्करणों के साथ आज़माउंगा और देखें कि क्या होता है। – CSharper