Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
Шаблон проектирования — повторяемая архитектурная конструкция в сфере проектирования программного обеспечения, предлагающая решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Рефа́кторинг, или перепроекти́рование кода, перерабо́тка кода, равноси́льное преобразова́ние алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости.

UML — язык графического описания для объектного моделирования в области разработки программного обеспечения, для моделирования бизнес-процессов, системного проектирования и отображения организационных структур.
Антипаттерн — это распространённый подход к решению класса часто встречающихся проблем, являющийся неэффективным, рискованным или непродуктивным. В отличие от шаблона проектирования, рассмотрение антипаттерна включает в себя как неправильное решение проблемы с его признаками и последствиями, так и выход из ситуации.
Порождающие шаблоны — шаблоны проектирования, которые абстрагируют процесс наследования. Они позволяют сделать систему независимой от способа создания, композиции и представления объектов. Шаблон, порождающий классы, использует наследование, чтобы изменять наследуемый класс, а шаблон, порождающий объекты, делегирует наследование другому объекту.

Адаптер — структурный шаблон проектирования, предназначенный для организации использования функций объекта, недоступного для модификации, через специально созданный интерфейс.
Объе́кт в программировании — сущность в цифровом пространстве, обладающая состоянием и поведением, имеющая поля и методы. Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение объекта. Термины «экземпляр класса» и «объект» взаимозаменяемы. Аналогия: объект — то, что сделали по чертежу, класс — это чертёж.
Прототи́п или первообраз:
- Прототип персонажа — конкретная историческая или современная личность, послужившая основой для образа в литературе, искусстве, кинематографе.
Эрих Гамма — программист из Швейцарии, один из четырёх авторов классической книги Design Patterns о шаблонах проектирования. Команда авторов книги также известна под названием «банда четырёх». Является ведущим разработчиком JUnit и Eclipse. Работал в IBM над проектом Jazz.
Функциональный дизайн — основной шаблон проектирования, использующийся для упрощения проектирования ПО. Функциональный дизайн гарантирует, что каждый модуль компьютерной программы имеет только одну обязанность и исполняет её с минимумом побочных эффектов на другие части программы. Функционально разработанные модули имеют низкое зацепление.
Шаблон мост — структурный шаблон проектирования, используемый в проектировании программного обеспечения чтобы «разделять абстракцию и реализацию так, чтобы они могли изменяться независимо». Шаблон мост использует инкапсуляцию, агрегирование и может использовать наследование для того, чтобы разделить ответственность между классами.
GRASP — шаблоны, используемые в объектно-ориентированном проектировании для решения общих задач по назначению ответственностей классам и объектам.

Шаблонный метод — поведенческий шаблон проектирования, определяющий основу алгоритма и позволяющий наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом.
Поведенческие шаблоны — шаблоны проектирования, определяющие алгоритмы и способы реализации взаимодействия различных объектов и классов.
«Приёмы объектно-ориентированного проектирования. Па́ттерны проектирования» — книга 1994 года о программной инженерии, описывающая шаблоны проектирования программного обеспечения. Авторами книги, которых прозвали «Бандой четырёх», являются Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. Предисловие написал Гради Буч.
Предметно-ориентированное проектирование — набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом.
Локатор служб — это шаблон проектирования, используемый в разработке программного обеспечения для инкапсуляции процессов, связанных с получением какого-либо сервиса с сильным уровнем абстракции. Этот шаблон использует центральный реестр, известный как «локатор сервисов», который по запросу возвращает информацию, необходимую для выполнения определенной задачи. Обратите внимание, что в некотором случае, локатор служб фактически является анти-шаблоном.
Контейнер свойств — фундаментальный шаблон проектирования, который служит для обеспечения возможности уже построенного и развернутого приложения
Конструктор объектов — один из элементарных паттернов проектирования, который предназначен для отделения абстракции от реализации и динамического управления поведением объекта на этапе выполнения кода.