Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class AbstractFactory<T> {
- public delegate List<T> AbstractProductCreator();
- private Dictionary<string, AbstractProductCreator> _creators = new Dictionary<string, AbstractProductCreator>();
- private static AbstractFactory<T> _instance = null;
- public static AbstractFactory<T> Instance {
- get {
- if( _instance == null ) {
- _instance = new AbstractFactory<T>();
- }
- return _instance;
- }
- }
- private AbstractFactory() { }
- public bool registerProduct( string setName, AbstractProductCreator creator ) {
- if( !_creators.ContainsKey( setName ) ) {
- _creators[setName] = creator;
- return true;
- }
- return false;
- }
- public List<T> getProduct( string setName ) {
- if( _creators.ContainsKey( setName ) ) {
- return (_creators[setName])();
- }
- return null;
- }
- }
- public interface IEntitySetMgr<T> {
- /// <summary>
- /// The columns involved in the query. Only fields in those columns
- /// will be retrieved from the db.
- /// </summary>
- List<ColumnInfo> Columns { get; set; }
- /// <summary>
- /// The number of entities found in the last query to db.
- /// </summary>
- int EntityCount { get; }
- bool Init();
- bool Synch( QueryFilter queryFilter = null );
- /// <summary>
- /// Retrieves the entities build from data of db.
- /// </summary>
- ObservableCollection<T> GetEntities();
- }
- public class EntitySetMgrFactory : AbstractFactory<IEntitySetMgr<T>> {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement