Шаблон проектирования — повторяемая архитектурная конструкция в сфере проектирования программного обеспечения, предлагающая решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Разрабо́тка програ́ммного обеспе́чения — деятельность по созданию нового программного обеспечения.
Порождающие шаблоны — шаблоны проектирования, которые абстрагируют процесс наследования. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять наследуемый класс, а шаблон, порождающий объекты, делегирует наследование другому объекту.
Адаптер — структурный шаблон проектирования, предназначенный для организации использования функций объекта, недоступного для модификации, через специально созданный интерфейс.
Model-View-Controller — схема разделения данных приложения и управляющей логики на три отдельных компонента: модель, представление и контроллер — таким образом, что модификация каждого компонента может осуществляться независимо.
- Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя своё состояние.
- Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.
- Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
Фабричный метод — порождающий шаблон проектирования, предоставляющий подклассам интерфейс для создания экземпляров некоторого класса. В момент создания наследники могут определить, какой класс создавать. Иными словами, данный шаблон делегирует создание объектов наследникам родительского класса. Это позволяет использовать в коде программы не специфические классы, а манипулировать абстрактными объектами на более высоком уровне.
Эрих Гамма — программист из Швейцарии, один из четырёх авторов классической книги Design Patterns о шаблонах проектирования. Команда авторов книги также известна под названием «банда четырёх». Является ведущим разработчиком JUnit и Eclipse. Работал в IBM над проектом Jazz.
Мартин Фаулер — автор ряда книг и статей по архитектуре ПО, объектно-ориентированному анализу и разработке, языку UML, рефакторингу, экстремальному программированию, предметно-ориентированным языкам программирования.
Банда четырёх:
- «Банда четырёх» — группа лидеров Коммунистической партии Китая, обвинённых в 1976 г. после смерти Мао Цзэдуна в событиях Культурной революции.
- «Банда четырёх» в программировании — распространённое название группы авторов, выпустивших в 1995 году известную книгу Design Patterns о шаблонах проектирования.
- Gang Of Four — английская музыкальная группа.
- Банда четырёх — российская панк-рок-группа.
- Банда четырёх (фильм) — французский фильм Жака Ривета 1989 года.
Стратегия — поведенческий шаблон проектирования, предназначенный для определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет выбирать алгоритм путём определения соответствующего класса. Шаблон Strategy позволяет менять выбранный алгоритм независимо от объектов-клиентов, которые его используют.
GRASP — шаблоны, используемые в объектно-ориентированном проектировании для решения общих задач по назначению ответственностей классам и объектам.
Addison-Wesley — американское издательство, специализирующееся на компьютерной литературе, ранее также выпускавшее литературу по естественным наукам. Принадлежит к медиа-концерну Pearson.
SOLID в программировании — мнемонический акроним, введённый Майклом Фэзерсом для первых пяти принципов, названных Робертом Мартином в начале 2000-х, которые означали 5 основных принципов объектно-ориентированных проектирования и программирования.
Шаблонный метод — поведенческий шаблон проектирования, определяющий основу алгоритма и позволяющий наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом.
Структурные шаблоны — шаблоны проектирования, в которых рассматривается вопрос о том, как из классов и объектов образуются более крупные структуры.
Поведенческие шаблоны — шаблоны проектирования, определяющие алгоритмы и способы реализации взаимодействия различных объектов и классов.
Роберт Сесил Мартин, также известный как Дядя Боб — американский инженер и программист, консультант и автор в области разработки ПО. Мартин является профессионалом в области разработки ПО с 1970, а с 1990 становится международным консультантом в этой области. В 2001 он организует встречу группы, которая создала гибкую методологию разработки из техник экстремального программирования.
Кент Бек — разработчик программного обеспечения, создатель таких методологий разработки ПО как экстремальное программирование (XP) и разработка через тестирование (TDD). Бек был одним из 17 специалистов, подписавших Agile Manifesto в 2001 году.
Джон Мэ́ттью Влиси́дис (Влисси́дес) — американский учёный в области компьютерной инженерии греческого происхождения, программист, известный главным образом как один из четырёх авторов знаменитой книги по программной инженерии «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» (1994). Являлся сотрудником компании IBM. В знак признания его вклада в информатику, IBM, издательство «Addison-Wesley», геймдизайнер Уильям Пью и группа SIGPLAN учредили Премию Джона Влисидиса, ежегодно вручаемую принимающим участие в симпозиуме OOPSLA докторантам с перспективными исследованиями в области прикладного программного обеспечения. Лауреат Премии доктора Добба за отличные успехи в программировании (1998), Премии за достижения в области языков программирования от SIGPLAN (2005) и Премии Даля-Нюгора.
Ричард Хелм — учёный, один из четырех авторов классической книги «Design Patterns» о шаблонах проектирования программного обеспечения. Коллектив авторов также известен как «Банда четырёх».