Example #1
0
        /// <summary>
        /// 以新增和删除设备为例,使用单例模式和MVP设计模式
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            Demo demo = new Demo();
            //获取缓存
            DeviceCache cacheInstance = DeviceCache.GetInstance();
            //创建View实例
            DemoView view = new DemoView();
            //创建四个新设备
            Device device1 = Device.CreatDevice("device_1", new Point(0, 0));
            Device device2 = Device.CreatDevice("device_2", new Point(0, 1));
            Device device3 = Device.CreatDevice("device_3", new Point(1, 0));
            Device device4 = Device.CreatDevice("device_4", new Point(1, 1));

            //添加四个设备
            List <Device> newDevices = new List <Device>()
            {
                device1, device2, device3, device4
            };

            foreach (Device newDevice in newDevices)
            {
                view.NewDeviceAdding(newDevice);
            }
            cacheInstance.ShowCache();

            //删除设备2
            view.DeviceRemoving(device2);
            cacheInstance.ShowCache();

            Console.ReadKey();
        }
        public DemoPresenter(DemoModel model, DemoView view)
        {
            this.model = model;
            this.view = view;

            view.Presenter = this;
        }
        public MainWindow()
        {
            InitializeComponent();

            var view = new DemoView(new DemoViewModel());

            BBView.Content = view;
        }
Example #4
0
 static void Main(string[] args)
 {
     try
     {
         Model      model      = DataUtils.ReadDataFile();
         Controller controller = new Controller(model);
         DemoView   demo       = new DemoView(controller);
         demo.startDemo();
     }
     catch (Exception e)
     {
         Console.Write($"There has been a problem with the data file. Please submit a bug request to https://github.com/burntsugar {e.Message}");
     }
 }
Example #5
0
        public void When_view_added_to_registry_should_ask_layout_if_it_can_accept_view()
        {
            MockRepository  mocks         = new MockRepository();
            ILayout         stubbedLayout = mocks.Stub <ILayout>();
            ILayoutSelector mockSelector  = mocks.CreateMock <ILayoutSelector>();
            DemoView        view          = new DemoView();

            using (mocks.Record())
            {
                SetupResult.For(stubbedLayout.Name).Return("something");

                Expect.Call(mockSelector.CanAccept(stubbedLayout, view)).Return(false);
            }

            using (mocks.Playback())
            {
                DefaultLayoutRegistry registry = new DefaultLayoutRegistry(null, mockSelector);
                registry.Register(stubbedLayout);
                registry.AddView(view);
            }
        }
Example #6
0
        public void When_layout_says_that_it_can_accept_view_registry_should_add_view_to_layout()
        {
            MockRepository  mocks        = new MockRepository();
            ILayout         mockLayout   = mocks.CreateMock <ILayout>();
            ILayoutSelector mockSelector = mocks.Stub <ILayoutSelector>();
            DemoView        view         = new DemoView();

            using (mocks.Record())
            {
                SetupResult.For(mockLayout.Name).Return("something");

                Expect.Call(mockSelector.CanAccept(mockLayout, view)).Return(true);
                Expect.Call(delegate { mockLayout.AddView(view); });
            }

            using (mocks.Playback())
            {
                DefaultLayoutRegistry registry = new DefaultLayoutRegistry(null, mockSelector);
                registry.Register(mockLayout);
                registry.AddView(view);
            }
        }