вбудовуються інструменти включають в себе редактор форм для спрощення створення графічного інтерфейсу додатку, веб-редактор, дизайнер класів і дизайнер схеми бази даних. Visual Studio дозволяє створювати і підключати сторонні додатки (плагіни) для розширення функціональності практично на кожному рівні, включаючи додавання підтримки систем контролю версій вихідного коду (як наприклад, Subversion і Visual SourceSafe), додавання нових наборів інструментів (наприклад, для редагування і візуального проектування коду на предметно-орієнтованих мовах програмування або інструментів для інших аспектів процесу розробки програмного забезпечення (наприклад, клієнт Team Explorer для роботи з Team Foundation Server).
Головними причинами вибору продукту Visual Studio в даному проекті є:
- інтегрований мову С #;
- проста реалізація спільних завдань;
- технологія IntelliSense, що дозволяє прискорити кодування, оскільки зменшується кількість тексту, що набирається на клавіатурі, а також зменшується необхідність звертатися до зовнішньої документації;
- розширення Resharper, яке передбачає синтаксичний аналіз коду, додаткові кошти автозаповнення і підсвічування синтаксису;
- Entity Framework - об'єктно-орієнтована технологія доступу до даних, інтегріреумая в лінійку продуктів Visual Studio починаючи з Visual Studio +2008 Service Pack 1.
На малюнку 3.2 приведено вікно при запуску Visual Studio 2013.
Рисунок 3.2 - Головне вікно в Visual Studio 2013
. 5 Вибір шаблону проектування
View-Controller (MVC, «Модель-подання-контролер») - схема використання декількох шаблонів проектування, за допомогою яких модель даних програми, користувальницький інтерфейс і взаємодія з користувачем розділені на три окремих компонента так, що модифікація одного з них надає мінімальний вплив на інші.
Згідно з малюнком 3.3 шаблон MVC концепції має вигляд:
Малюнок 3.3 - Загальна схема концепції MVC
У концепції MVC, описаної в 1979 році, була представлена ??сама ідея і роль кожного з елементів: моделі, подання та контролера. Але зв'язки між ними були описані без конкретизації. Крім того, розрізняли дві основні модифікації:
пасивна модель - модель не має жодних способів впливати на подання або контролер, і використовується ними як джерело даних для відображення. Всі зміни моделі відслідковуються контролером, і він же відповідає за перерисовку уявлення, якщо це необхідно. Така модель частіше використовується в структурному програмуванні, так як в цьому випадку модель являє просто структуру даних, без методів їх обробних;
активна модель - модель оповіщає уявлення про те, що в ній відбулися зміни, а уявлення, які зацікавлені в оповіщенні, підписуються на ці повідомлення. Це дозволяє зберегти незалежність моделі як від контролера, так і від уявлення.
Концепція MVC дозволяє розділити дані, подання та обробку дій користувача на три окремих компоненти:
модель (Model). Модель надає знання: дані і методи роботи з цими даними, реагує на запити, змінюючи свій стан. Не містить інформації, як ці знання можна візуалізувати;
уявлення, вид (View). Відповідає за відображення інформації (візуалізацію). Часто як уявлення виступає форма (вікно) з графічними елементами;
контролер (Controller). Забезпечує зв'язок між користувачем і системою: контролює введення даних користувачем і використовує модель та подання для реалізації необхідної реакції.
Важливо відзначити, що як уявлення, так і контролер залежать від моделі. Однак модель не залежить ні від уявлення, ні від контролера. Тим самим досягається призначення такого поділу: воно дозволяє будувати модель незалежно від візуального представлення, а також створювати кілька різних подань для однієї моделі.
Основна мета застосування цієї концепції полягає в поділі моделі від її візуалізації (уявлення, виду). За рахунок такого поділу підвищується можливість повторного використання. Найбільш корисно застосування даної концепції в тих випадках, коли користувач повинен бачити ті ж самі дані одночасно в різних контекстах та/або з різних точок зору. Зокрема, виконуються наступні завдання:
до однієї моделі можна приєднати кілька подань (відображення), при цьому, не зачіпаючи реалізацію моделі. Наприклад, деякі дані можуть бути одночасно представлені у вигляді електронної таблиці, гістограми і кругової діаграми;
не зачіпаючи реалізацію видів, можна змінити реакції на дії користувача (натискання мишею??...