Copyright © 2012 DAVID Holding Company
Desktop приложенияWindows Forms
Александър Далемски[email protected]
Copyright © 2012 DAVID Holding Company
За какво ще говорим
• Често използвани софтуерни архитектури• Desktop приложения• Windows Forms
Copyright © 2012 DAVID Holding Company
Трислойна архитектура
• Три слоя – за данни, бизнес и презентационен• Изолира всеки слой от реализацията на останалите• Улеснява тестването и поддръжката• Ограничава обхвата на нужните промени• Много широко разпространена
Copyright © 2012 DAVID Holding Company
Слой за достъп до данните
• Осъществява връзката с базата данни• Структурира данните във вид, сходен с модела на
предметната област• Изолира бизнес слоя от конкретната реализация на
съхранението на данните
Copyright © 2012 DAVID Holding Company
Бизнес слой
• Реализира цялата функционална логика на системата• Използва данните от слоя за данни• Предоставя на презентационния слой всичко
необходимо за взаимодействие с потребителя и външни системи
Copyright © 2012 DAVID Holding Company
Презентационен слой
• Реализира взаимодействието с потребителя и външни системи
• Не съдържа имплементация на функционалност• Предоставя резултатите от бизнес слоя в удобен за
потребителя вид• Позволява лесно правене на козметични промени,
незасягащи функционалността
Copyright © 2012 DAVID Holding Company
Клиент/сървър системи
• Нееднородни• Обикновено един сървър• Много клиенти• Клиентът инициира връзката със сървъра• Централизиран достъп до данните• Често са с трислойна (или подобна) архитектура
Copyright © 2012 DAVID Holding Company
Тънки клиенти (thin clients)
• Съдържат само презентационния слой• Минимизират уязвимостта на данните• По-слаба зависимост от платформата и външни
библиотеки• Ограничават възможностите за манипулиране на
данните
Copyright © 2012 DAVID Holding Company
Дебели клиенти (thick clients)
• Съдържат част от бизнес слоя или целия бизнес слой• Може да съдържат част от слоя за данни• По-голяма свобода за манипулиране на данните• Повишен риск от пробив в сигурността на данните• По-силна зависимост от платформата и външни
библиотеки
Copyright © 2012 DAVID Holding Company
Peer-to-peer системи
• Обикновено еднородни• Липса на централизираност• По-висока надеждност• По-ниска сигурност на данните• По-сложна реализация
Copyright © 2012 DAVID Holding Company
Desktop приложения
• Прозорци (форми)• Самостоятелни процеси
Copyright © 2012 DAVID Holding Company
Desktop приложения – предимства
• Лесен достъп до ресурсите на операционната и файловата система
• Лесно реализиране на сложно поведение на потребителския интерфейс
• Удобни за дебели клиенти• Очевиден избор за локални и peer-to-peer приложения
Copyright © 2012 DAVID Holding Company
Desktop приложения – недостатъци
• Зависимост от външни библиотеки• Трудни за обновление клиенти• Обикновено тясно свързани с платформата (изключения
– Java и др.)
Copyright © 2012 DAVID Holding Company
Прозорци
• Видима област• Заглавна лента• Системни бутони• Фиксиран/променлив размер• Главен прозорец
Copyright © 2012 DAVID Holding Company
Контроли
• Визуални компоненти• Контейнери• Йерархия от контроли• Потребителски контроли
Copyright © 2012 DAVID Holding Company
Събития
• Предизвикват се в определен момент от изпълнение на програмата или като реакция на външно явление
• Позволяват изпълнението на код от програмиста през обработчици на събитието
Copyright © 2012 DAVID Holding Company
Message Loop
• Съобщения• Опашка за съобщения• Линейна обработка на съобщенията• Обработката на съобщение обикновено предизвиква
повдигане на събитие• Програмно изпращане на съобщения
Copyright © 2012 DAVID Holding Company
Модални диалози
• Прозорци• Ограничават достъпа до останалите прозорци• Резултат от диалога
Copyright © 2012 DAVID Holding Company
Windows Forms
• Част от .NET Framework• Managed desktop приложения• Обвивка и надграждане на Win32 API• Windows Forms Application проект• System.Windows.Forms
Copyright © 2012 DAVID Holding Company
Форми
• Form• Windows Form файлов шаблон• Главна форма• Show()
Copyright © 2012 DAVID Holding Company
Форми – свойства
• Size• Text• StartPosition• FormBorderStyle• MinimizeBox, MaximizeBox• ShowInTaskbar• ShowIcon• AcceptButton, CancelButton
Copyright © 2012 DAVID Holding Company
Контроли
• Label• TextBox• ListBox• ComboBox• CheckBox• RadioButton• Button• ListView• TreeView• MonthCalendar• DateTimePicker• RichTextBox• WebBrowser
Copyright © 2012 DAVID Holding Company
Контроли – свойства
• Parent• Size• Location• Margin• Dock• Anchor• Text• Enabled• Visible• ForeColor• BackColor• Font• TabIndex• Tag
Copyright © 2012 DAVID Holding Company
Контейнери
• Panel• GroupBox• FlowLayoutPanel• SplitContainer• TabControl• TableLayoutPanel
Copyright © 2012 DAVID Holding Company
Събития
• Всяка форма и контрола предоставя широк набор от събития
• Закачане към събития през визуалния редактор• Делегати
Copyright © 2012 DAVID Holding Company
Модални диалози
• ShowModal()• DialogResult• Form.DialogResult• Button.DialogResult
Copyright © 2012 DAVID Holding Company
Data Binding
• Автоматично зареждане на списъци в списъчни контроли
• ListBox, ComboBox• DataSource – IList, IListSource• DisplayMember• ValueMember• SelectedValue
Copyright © 2012 DAVID Holding Company
Полезни връзки
• .NET Desktop Applications - http://windowsclient.net/learn/
• Windows Forms - http://msdn.microsoft.com/en-us/library/dd30h2yb%28v=vs.100%29.aspx
Top Related