← Ко всем open source проектам

Java Design Patterns

iluwatar/java-design-patterns

Java Design Patterns — большая коллекция шаблонов проектирования, реализованных на Java с пояснениями, примерами и связями с архитектурными задачами.

Форки 27,365
Автор iluwatar
Язык Java
Лицензия NOASSERTION
Обновлено 2026-06-09

Что это такое

Java Design Patterns — учебный репозиторий про шаблоны проектирования. Он показывает не только названия вроде Factory, Strategy или Observer, но и Java-реализации с контекстом: когда подход помогает и где может быть лишним.

Проект полезен, потому что шаблоны часто изучают слишком абстрактно. В реальном коде важно видеть роли классов, зависимости, расширяемость и цену дополнительной структуры.

Что внутри и как используют

Внутри — множество шаблонов, документация, тесты, примеры и сайт. Материал разбит по категориям: создание объектов, композиция, поведение, конкурентность, интеграция и архитектурные стили.

Идея Strategy

Псевдо-Java-фрагмент показывает суть Strategy: алгоритм подменяется через общий интерфейс.

Язык: Plain text
interface PaymentStrategy {
  void pay(int amount);
}

class Checkout {
  void complete(PaymentStrategy strategy) {
    strategy.pay(100);
  }
}

Типовой сценарий — разработчик узнает проблему в своем коде и смотрит, как похожая задача выражается через известный шаблон. Это не значит, что шаблон нужно вставлять автоматически.

Сильные стороны и ограничения

Сильная сторона — большое покрытие и привязка к коду. Репозиторий удобно использовать как справочник и учебный полигон, особенно для Java-команд.

Ограничение — риск переусложнения. Шаблон полезен, когда снижает сложность, а не когда добавляет классы ради красивого названия.