1. Define a data interface and two data Implementation classes first}View Code}View Code}View Code2. client call --- direct call
Main( MSDAL.Student studentMS = Console.WriteLine( + studentMS.Writing() + }
}
3. implement client call --- Interface Programming dependency Abstraction
Main( IStudent student = MSDAL.Student(); Console.WriteLine( + student.Writing() + }
4. implement client call --- reflection decoupling
Main( assemblyName = ; className = assemblyName + ; IStudent studentReflection = Console.WriteLine( + studentReflection.Writing() + }
5. implement client call --- reflection + configuration file
Main( assemblyNameConfiguration = ConfigurationManager.AppSettings[]; classNameConfiguration = assemblyNameConfiguration + ; IStudent studentConfiguration = Console.WriteLine( + studentConfiguration.Writing() + }
6. implement client call --- Spring. Net object creation decoupling
You need to add Spring. Core. dll Assembly reference
Main( IApplicationContext SpringContext = Spring.Context.Support.ContextRegistry.GetContext(); IStudent studentSpring = (IStudent)SpringContext.GetObject(); Console.WriteLine( + studentConfiguration.Writing() + }
Configuration File
View Code7. implement client call --- Unity creates object decoupling
You need to add Microsoft. Practices. Unity. dll and Microsoft. Practices. Unity. Configuration. dll Assembly references.
Main( IUnityContainer mycontainer = UnityContainer(); UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection(); section.Configure(mycontainer); IStudent studentUnity = mycontainer.Resolve<IStudent>(); Console.WriteLine( + studentUnity.Writing() + }
Configuration File
View Code