Архив за месяц: Август 2015

Шаблон проектирования — Модель — Представление — Контроллер (MVC)

Model-view-controller («модель-представление-контроллер», «модель-вид-контроллер») — схема использования нескольких шаблонов проектирования, с помощью которых модель приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента таким образом, чтобы модификация одного из компонентов оказывала минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса для разрабатываемого приложения.

Концепция:

  • Модель (Model) — содержит данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.
  • Представление, вид (View). — используется для отображения (визуализации, рендеринга) данных из модели.
  • Контроллер (Controller) — обеспечивает связь между пользователем системы и моделями данных.

В системе модель не зависит ни от контроллера, ни от представления, а те, в свою очередь, зависят от модели.
Читать далее

Шаблон проектирования — Одиночка

Одиночка (Singleton) — порождающий шаблон проектирования, гарантирующий, что в однопоточном приложении будет единственный экземпляр класса.
Применение — когда необходим только один экземпляр класса, с возможностью доступа к нему из любой точки приложения.
Примеры использования:

  • Запись сообщений в лог-файл
  • Доступ к базе данных

В случае когда Одиночка используется для организации доступа к базе данных, могут возникнуть проблемы, когда будет необходимо работать с несколькими серверами баз данных.
Читать далее

Триггеры в MySQL

Триггер в MySQL — поименованный объект БД, который ассоциирован с таблицей и активируемый при наступлении определенного события, события связанного с этой таблицей.
Такими событиями могут быть:

  • INSERT — при операциях вставки или аналогичных ей выражениях (INSERT, LOAD DATA, и REPLACE)
  • UPDATE — когда сущность (строка) модифицирована
  • DELETE — когда запись удаляется (запросы, содержащие выражения DELETE и/или REPLACE)

Кроме того, для каждого события есть два варианта:
BEFORE — выполняется до исполнения команды. Допустим, при BEFORE INSERT могут быть изменены данные перед вставкой их в таблицу или рассчитаны дополнительные поля для вставки.
AFTER — данное событие вызывается, после завершения исполнения команды. Как правило, это событие используется для обновления статистических данных или вставки данных в другие таблицы.
Читать далее

Шаблоны проектирования. Введение

Шаблоны проектирования (design patterns) — архитектурные конструкции, решающие часто возникающие задачи при разработке и проектировании программного продукта.
Как правило, шаблон проектирования не является законченным решением, а всего лишь пример решения задачи, который в большинстве случаев необходимо немного модифицировать под конкретную задачу.
Все шаблоны проектирования делятся на 4 основные группы, в которые входят уже конкретные шаблоны.
Читать далее