Skip to content

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

Обробка запиту клієнта відбувається за такими етапами:

  1. клієнт надсилає запит до додатка.
  1. додаток обробляє цей запит. Для цього їй може знадобитися допомога шару [métier], якому, у свою чергу, може знадобитися шар [dao], якщо необхідно обмінятися даними з базою даних. Додаток отримує відповідь від шару [métier].
  2. Відповідно до нього, воно надсилає клієнту відповідний вигляд (= відповідь).

Інтерфейс, що відображається користувачеві, може мати різні форми:

  1. консольний додаток: у цьому випадку представлення — це послідовність рядків тексту.
  2. графічний додаток для Windows: у цьому випадку представлення — це вікно Windows
  3. веб-додаток: у цьому випадку представлення — це сторінка HTML
  4. ...

Ми напишемо різні версії цієї програми:

  1. версію ASPNET, що містить єдину форму та побудована за одношаровою архітектурою.
  2. версію, ідентичну попередній, але з розширеннями Ajax
  3. версію ASP.NET, що базується на тришаровій архітектурі, де рівень доступу до даних реалізовано за допомогою фреймворку NHibernate. Вона, як і раніше, матиме єдину форму з версії 1.
  4. версія 4 ASP.NET з кількома видами та на одній сторінці, що використовує тришарову архітектуру версії 3.
  5. серверна частина клієнт-серверного додатка, де сервер реалізовано за допомогою веб-сервісу на основі багатошарової архітектури версії 3.
  6. клієнтська частина попереднього клієнт-серверного додатка, реалізована за допомогою шару ASP.NET.
  7. версія 7 ASP.NET з підтримкою декількох видів та декількох сторінок на основі трирівневої архітектури версії 3.
  8. версія 8 ASP.NET з підтримкою декількох видів та декількох сторінок, що є клієнтською частиною веб-сервісу версії 5.
  9. версія 9 ASP.NET з кількома видами та сторінками, що має тришарову архітектуру версії 3, де рівень доступу до даних реалізовано за допомогою класів Spring, що спрощують використання фреймворку NHibernate.
  10. версія 10, реалізована на FLEX та клієнтська частина веб-сервісу версії 5.

Необхідні умови


У структурі [débutant-intermédiaire-avancé] цей документ знаходиться в розділі [intermédiaire]. Для його розуміння необхідні певні попередні знання, які можна знайти в деяких документах, написаних мною:

  1. Програмування ASP.NET [Вступ до мови VB.NET на прикладах (2004)];
  2. Мова C# 2008: [Опанування мови C# версії 3.0 з використанням .NET Framework 3.5 (2008)]: класи, інтерфейси, успадкування, поліморфізм
  3. [Spring IoC], доступний у URL та [Spring IoC для .NET (2005)]. Висвітлює основи інверсії контролю (Inversion of Control) або ін’єкції залежностей (Dependency Injection) у фреймворку Spring.Net [http://www.springframework.net].
  4. [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] для модульних тестів.