public static void Main()
    {
        ObservableClass observable = new ObservableClass();
        ObserverClass   observer   = new ObserverClass(observable);

        observable.Value = 10;
    }
Exemple #2
0
        public static void Main_old(string[] args)
        {
            ObserverClass clsLib = new ObserverClass();

            string cmd           = null;
            string directoryPath = null;
            int    frequency     = 1000; //ms

            while (true)
            {
                Console.WriteLine(@"Please enter command ('start' or 'stop'): ");
                cmd = Console.ReadLine().Trim();
                Console.WriteLine(@"Please enter directory: ");
                directoryPath = Console.ReadLine().Trim();

                if (cmd == "start")
                {
                    Console.WriteLine("Starting " + directoryPath + " observation...");
                    clsLib.Observe(directoryPath, frequency, (result) => Console.WriteLine(result));
                }
                else if (cmd == "stop")
                {
                    clsLib.StopObservation(directoryPath);
                    Console.WriteLine("... directory " + directoryPath + " observation is stoped");
                }
                else
                {
                    Console.WriteLine("Unknown command: " + cmd);
                }
            }
        }
 /// <summary>
 /// 옵저버에 등록된 구독자들에게 ObserverClass 를 전달
 /// 전달은 받은 구독자들은 ObserverClass 의 ObserverName 과 ObserverAction 에 따라서 적절한 행동을 한다.
 /// </summary>
 public void Notify(ObserverClass aObserver)
 {
     foreach (IObserver item in this.mListener)
     {
         item.OnNext(aObserver);
     }
 }
Exemple #4
0
        /// <summary>
        /// 수신된 ObserverClass 와 Action 에 따라서 처리한다.
        /// </summary>
        public void OnNext(ObserverClass observer)
        {
            switch (observer.Action)
            {
            case ObserverAction.Invalidate: this.Invalidate(false); return;

            case ObserverAction.FileLoad: this.Invalidate(false); return;

            case ObserverAction.New: this.Invalidate(false); return;
            }
        }
Exemple #5
0
        /// <summary>
        /// 수신된 ObserverClass 와 Action 에 따라서 처리한다.
        /// </summary>
        public void OnNext(ObserverClass aObserver)
        {
            if (aObserver.Name == ObserverName.ToolBar)
            {
                switch (aObserver.Action)
                {
                case ObserverAction.FileLoad: FileLoad(); return;

                case ObserverAction.FileSave: FileSave(); return;

                case ObserverAction.New: New(); return;
                }
            }
        }
Exemple #6
0
 /// <summary>
 /// 수신된 ObserverClass 와 Action 에 따라서 처리한다.
 /// </summary>
 public void OnNext(ObserverClass observer)
 {
 }