Пользовательский интерфейс
Model — View — Controller (MVC)
Windows Forms
Шаблон наблюдатель (О bserver ) <ul><li>interface IClickObserver </li></ul><ul><li>{ </li></ul><ul><li>void Notify(Control...
Шаблон наблюдатель (О bserver ) <ul><li>class Button : Control </li></ul><ul><li>{ </li></ul><ul><li>List<IClickObserver> ...
События ( events) <ul><li>class Button : Control </li></ul><ul><li>{ </li></ul><ul><li>public event EventHandler Click; </...
Observer vs Events <ul><li>class Button : Control </li></ul><ul><li>{ </li></ul><ul><li>List<IClickObserver> m_ClickObserv...
Upcoming SlideShare
Loading in …5
×

Пользовательский интерфейс

1,859 views
1,826 views

Published on

Лекция Михаила Гуренкова по пользовательскому интерфейсу в рамках курса по ООП. Каф. Вычислительная математика и программирование, МАИ.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,859
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Пользовательский интерфейс

  1. 1. Пользовательский интерфейс
  2. 2. Model — View — Controller (MVC)
  3. 3. Windows Forms
  4. 4. Шаблон наблюдатель (О bserver ) <ul><li>interface IClickObserver </li></ul><ul><li>{ </li></ul><ul><li>void Notify(Control a_Control); </li></ul><ul><li>} </li></ul><ul><li>interface IMouseDownObserver </li></ul><ul><li>{ </li></ul><ul><li>void Notify(Control a_Control, int x, int y, int a_MouseButton); </li></ul><ul><li>} </li></ul>
  5. 5. Шаблон наблюдатель (О bserver ) <ul><li>class Button : Control </li></ul><ul><li>{ </li></ul><ul><li>List<IClickObserver> m_ClickObservers = new List<IClickObserver>(); </li></ul><ul><li>public void Register(IClickObserver a_Observer) </li></ul><ul><li>{ </li></ul><ul><li>m_ClickObservers.Add(a_Observer); </li></ul><ul><li>} </li></ul><ul><li>void OnClick() </li></ul><ul><li>{ </li></ul><ul><li>foreach (IClickObserver observer in m_ClickObservers) </li></ul><ul><li>{ </li></ul><ul><li>observer.Notify(this); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  6. 6. События ( events) <ul><li>class Button : Control </li></ul><ul><li>{ </li></ul><ul><li>public event EventHandler Click; </li></ul><ul><li>void OnClick(EventArgs e) </li></ul><ul><li>{ </li></ul><ul><li>if (Click != null) </li></ul><ul><li>{ </li></ul><ul><li>Click(this, e); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  7. 7. Observer vs Events <ul><li>class Button : Control </li></ul><ul><li>{ </li></ul><ul><li>List<IClickObserver> m_ClickObservers = new List<IClickObserver>(); </li></ul><ul><li>public void Register(IClickObserver a_Observer) </li></ul><ul><li>{ </li></ul><ul><li>m_ClickObservers.Add(a_Observer); </li></ul><ul><li>} </li></ul><ul><li>void OnClick() </li></ul><ul><li>{ </li></ul><ul><li>foreach (IClickObserver observer in m_ClickObservers) </li></ul><ul><li>{ </li></ul><ul><li>observer.Notify(this); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>class Button : Control </li></ul><ul><li>{ </li></ul><ul><li>public event EventHandler Click; </li></ul><ul><li>void OnClick(EventArgs e) </li></ul><ul><li>{ </li></ul><ul><li>if (Click != null) </li></ul><ul><li>{ </li></ul><ul><li>Click(this, e); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>

×