Приложение создаётся с использованием WindowsForms — интерфейса программирования приложений, отвечающего за графический интерфейс пользователя и являющейся частью Microsoft. netFramework [4].
Информация хранится в mdb-файле. Для работы с базой данных MS Access используется объект DataGridView, который позволяет подключить нужную таблицу. Данные из объекта DataGridView считываются путем запоминая данных в dataSet.
Технология разработки
Порождающий шаблон «Singleton»
Паттерн Singleton гарантирует, что у класса может быть только один экземпляр. В частном случае предоставляется возможность наличия, заранее определенного числа экземпляров. Диаграмма шаблона представлена на рисунке 1.4.1.
Рисунок 1.4.1 — Диаграмма шаблона «Singleton» .
Паттерн Singleton рекомендуется использовать, когда:
- · В системе должен быть только один экземпляр некоторого класса, или в частном случае заранее определенное пользователем количество экземпляров (два, три и т. д.).
- · Требуется организовать расширение класса единственного экземпляра через использование механизма наследования.
Особенности применения паттерна Singleton:
· Контроль доступа к единственному экземпляру.
Процесс создания единственного экземпляра скрыт в классе Singleton, поэтому класс Singleton полностью контролирует доступ к экземпляру через использование метода Instance, который всегда возвращает ссылку на один и тот же экземпляр.
· Возможность расширения через наследование.
Если класс Singleton не является статическим или герметизированным / запечатанным, то от него возможно наследование, что позволит расширить существующую функциональность.
· Возможность наличия переменного числа экземпляров.
Паттерн Singleton позволяет создавать фиксированное число экземпляров класса Singleton.
· Большая гибкость чем у статических классов.
Одним из вариантов реализации паттерна Singleton в C#, является использование статических классов. Но такой подход может в дальнейшем препятствовать изменению дизайна в том случае, если понадобится использование нескольких экземпляров класса Singleton. Кроме того, статические классы не сопрягаются с механизмами наследования и статические методы не могут быть виртуальными, что не допускает полиморфных отношений.