/// <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; }
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}"); } }
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); } }
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); } }