1. Вступ
PDF цього документа доступний за посиланням |TYT|.
Приклади з цього документа доступні за посиланням |TYT|.
Ми хочемо написати додаток .NET, що дозволить користувачеві проводити симуляції розрахунку заробітної плати вихователів дитячих садків асоціації «Дім раннього дитинства» в одній з громад. Ми зосередимося як на організації коду DotNet програми, так і на самому коді.
Готовий додаток, який ми назвемо [SimuPaie], матиме таку трирівневу структуру:
![]() |
- шар [1-dao] (DAO = Data Access Object) відповідатиме за доступ до даних. Ці дані будуть розміщені в базі даних.
- Рівень [2-métier] відповідатиме за бізнес-логіку додатка — розрахунок заробітної плати.
- Рівень [3-ui] (ui = User Interface) відповідатиме за представлення даних користувачеві та виконання його запитів. Сукупність модулів, що забезпечують цю функцію, ми називаємо [Application]. Він є інтерфейсом для користувача.
- Ці три шари стануть незалежними завдяки використанню інтерфейсів .NET
- Інтеграція різних рівнів буде здійснена за допомогою Spring IoC
Обробка запиту клієнта відбувається за такими етапами:
- клієнт надсилає запит до додатка.
- додаток обробляє цей запит. Для цього їй може знадобитися допомога шару [métier], якому, у свою чергу, може знадобитися шар [dao], якщо необхідно обмінятися даними з базою даних. Додаток отримує відповідь від шару [métier].
- Відповідно до нього, воно надсилає клієнту відповідний вигляд (= відповідь).
Інтерфейс, що відображається користувачеві, може мати різні форми:
- консольний додаток: у цьому випадку представлення — це послідовність рядків тексту.
- графічний додаток для Windows: у цьому випадку представлення — це вікно Windows
- веб-додаток: у цьому випадку представлення — це сторінка HTML
- ...
Ми напишемо різні версії цієї програми:
- версію ASPNET, що містить єдину форму та побудована за одношаровою архітектурою.
- версію, ідентичну попередній, але з розширеннями Ajax
- версію ASP.NET, що базується на тришаровій архітектурі, де рівень доступу до даних реалізовано за допомогою фреймворку NHibernate. Вона, як і раніше, матиме єдину форму з версії 1.
- версія 4 ASP.NET з кількома видами та на одній сторінці, що використовує тришарову архітектуру версії 3.
- серверна частина клієнт-серверного додатка, де сервер реалізовано за допомогою веб-сервісу на основі багатошарової архітектури версії 3.
- клієнтська частина попереднього клієнт-серверного додатка, реалізована за допомогою шару ASP.NET.
- версія 7 ASP.NET з підтримкою декількох видів та декількох сторінок на основі трирівневої архітектури версії 3.
- версія 8 ASP.NET з підтримкою декількох видів та декількох сторінок, що є клієнтською частиною веб-сервісу версії 5.
- версія 9 ASP.NET з кількома видами та сторінками, що має тришарову архітектуру версії 3, де рівень доступу до даних реалізовано за допомогою класів Spring, що спрощують використання фреймворку NHibernate.
- версія 10, реалізована на FLEX та клієнтська частина веб-сервісу версії 5.
Необхідні умови
У структурі [débutant-intermédiaire-avancé] цей документ знаходиться в розділі [intermédiaire]. Для його розуміння необхідні певні попередні знання, які можна знайти в деяких документах, написаних мною:
- Програмування ASP.NET [Вступ до мови VB.NET на прикладах (2004)];
- Мова C# 2008: [Опанування мови C# версії 3.0 з використанням .NET Framework 3.5 (2008)]: класи, інтерфейси, успадкування, поліморфізм
- [Spring IoC], доступний у URL та [Spring IoC для .NET (2005)]. Висвітлює основи інверсії контролю (Inversion of Control) або ін’єкції залежностей (Dependency Injection) у фреймворку Spring.Net [http://www.springframework.net].
- [Construction d'une application web à trois couches avec Spring et VB.NET], доступні за посиланням URL [Створення трирівневого веб-додатку за допомогою Spring.NET та VB.NET (2005)]. Цей курс представляє спрощений додаток для покупки товарів в Інтернеті. Його трирівнева архітектура реалізує модель MVC.
На початку абзаців цього документа іноді наводяться рекомендації щодо додаткового читання. Вони містять посилання на попередні документи.
Інструменти
Інструменти, що використовуються в цьому прикладі, є у вільному доступі в Інтернеті. Це такі:
- Visual C# 2008, Visual Web Developer Express 2008, SQL Server Express 2005, доступні на URL [http://www.microsoft.com/express/downloads/].
- Spring IoC для створення екземплярів служб, необхідних для роботи додатка, доступний на URL [http://www.springframework.net/] — див. також [3]
- NHibernate для рівня доступу до даних SGBD [http://sourceforge.net/projects/nhibernate/]
- NUnit: [http://www.nunit.org] для модульних тестів.
