示例#1
0
 public static IPropertyProxyCache <T> Create(
     IPropertyProxyWrapper proxyWrapper,
     IPropertyProxyFactory proxyFactory,
     IObservableFactory observableFactory)
 {
     return(new PropertyProxyCache <T>(proxyWrapper, proxyFactory, observableFactory));
 }
示例#2
0
 public static ICollectionProxy Create(
     IObservableCollection observableCollection,
     IPropertyProxyWrapper proxyWrapper,
     IPropertyProxyFactory proxyFactory,
     IObservableFactory observableFactory)
 {
     return(collectionProxyFactory(observableCollection, proxyWrapper, proxyFactory, observableFactory));
 }
示例#3
0
 public PropertyProxyCache(
     IPropertyProxyWrapper proxyWrapper,
     IPropertyProxyFactory proxyFactory,
     IObservableFactory observableFactory)
 {
     this.proxyWrapper      = proxyWrapper;
     this.proxyFactory      = proxyFactory;
     this.observableFactory = observableFactory;
 }
示例#4
0
 public PropertyObserverFactory(
     IObservableFactoryFactory observableFactoryFactory,
     IPropertyProxyFactory propertyProxyFactory,
     IPropertyProxyWrapper propertyProxyWrapper)
 {
     this.observableFactoryFactory = observableFactoryFactory;
     this.propertyProxyFactory     = propertyProxyFactory;
     this.propertyProxyWrapper     = propertyProxyWrapper;
 }
        public ReactionWrapper(
            IPropertyProxyFactory propertyProxyFactory,
            IPropertyProxyWrapper propertyProxyWrapper,
            ReactionBuilder <TStore> reactionBuilder)
        {
            this.propertyProxyFactory = propertyProxyFactory;
            this.propertyProxyWrapper = propertyProxyWrapper;

            this.action              = reactionBuilder.Action;
            this.ObservedProperties  = reactionBuilder.ObservedProperties;
            this.ObservedCollections = reactionBuilder.ObservedCollections;
        }
        public PropertyObserver(
            IObservableHolder <T> observableHolder,
            IPropertyProxyFactory propertyProxyFactory,
            IPropertyProxyWrapper propertyProxyWrapper) : base(observableHolder)
        {
            this.observableHolder = observableHolder;

            IPropertyProxy propertyProxy = propertyProxyFactory.Create(observableHolder.RootObservableProperty);

            WrappedInstance = propertyProxyWrapper.WrapPropertyObservable <T>(propertyProxy);

            PlantSubscriber(propertyProxy);
        }
示例#7
0
        public ObservablePropertyHolder(
            IPropertyProxyFactory propertyProxyFactory,
            IPropertyProxyWrapper propertyProxyWrapper,
            IObservableFactoryFactory observableFactoryFactory)
        {
            this.propertyProxyWrapper = propertyProxyWrapper;
            this.propertyProxyFactory = propertyProxyFactory;
            this.observableFactory    = observableFactoryFactory.CreateFactory(
                OnPropertyStateChanged,
                OnCollectionItemsChanged);

            RootObservableProperty = observableFactory.CreateObservableProperty(typeof(T));
        }
        public StoreAccessor(
            IStoreHolder <TStore> storeHolder,
            IPropertyProxyFactory propertyProxyFactory,
            IPropertyProxyWrapper propertyProxyWrapper) : base(storeHolder)
        {
            this.propertyProxyWrapper = propertyProxyWrapper;

            IPropertyProxy propertyProxy = propertyProxyFactory.Create(storeHolder.RootObservableProperty, storeHolder.StoreReactables);

            Store = propertyProxyWrapper.WrapPropertyObservable <TStore>(propertyProxy);
            storeHolder.DependencyInjector.InjectDependency(Store);

            PlantSubscriber(propertyProxy);
        }
        public StoreHolder(
            IStoreDependencyInjector <TStore> dependencyInjector,
            IStoreMetadata <TStore> storeMetadata,
            IPropertyProxyFactory propertyProxyFactory,
            IPropertyProxyWrapper propertyProxyWrapper,
            IObservableFactoryFactory observableFactoryFactory)
        {
            DependencyInjector        = dependencyInjector;
            this.storeMetadata        = storeMetadata;
            this.propertyProxyFactory = propertyProxyFactory;
            this.propertyProxyWrapper = propertyProxyWrapper;
            this.observableFactory    = observableFactoryFactory.CreateFactory(
                OnPropertyStateChanged,
                OnCollectionItemsChanged);

            RootObservableProperty = CreateObservableProperty(typeof(TStore));
            InitializeStoreReactables();
        }