Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ...
- IDaoFactory daoFactory = new NHibernateDaoFactory(); //instantiation in main class
- ...
- SamplePresenterClass s = new SamplePresenterClass(daoFactory);
- ...
- List<string> LoadData(LoaderEnum key)
- ILoader loader = new XMLLoader();
- SamplePresenterClass s = new SamplePresenterClass(daoFactory, xmlLoader);
- SamplePresenterClass s = new SamplePresenterClass(daoFactory, xmlLoader, sampleWebServiceConnector1, sampleWebServiceConnector2, ...);
- public class DataAccessHolder
- {
- private IDaoFactory daoFactory;
- private ILoader loader;
- ...
- public IDaoFactory DaoFactory
- {
- get { return daoFactory; }
- set { daoFactory = value; }
- }
- ...
- }
- DataAccessHolder dataAccessHolder = new DataAccessHolder();
- dataAccessHolder.DaoFactory = new NHibernateDaoFactory();
- dataAccessHolder.Loader = new XMLLoader();
- ...
- SamplePresenterClass s = new SamplePresenterClass(dataAccessHolder);
- DaoFactory<SamplePresenterClass>.Create(); // or
- DaoFactory<SamplePresenterClass>.Create(id); // etc
- interface IDao
- {
- IDaoProvider GetProvider();
- }
- interface IDaoProvider
- {
- IDao Create(IDao instance);
- void Update(IDao instance);
- void Delete(IDao instance);
- }
- static class DaoFactory<T> where T : IDao, new()
- {
- static T Create()
- {
- T instance = new T();
- IDaoProvider provider = instance.GetProvider();
- return (T)provider.Create(instance);
- }
- }
- class Cat : IDao
- {
- IDaoProvider GetProvider()
- {
- return new XmlLoader(YourEnum.Cat);
- }
- // ...
- }
Add Comment
Please, Sign In to add comment