разделить класс 2) Выделить и описать абстракцию (базовый класс, «фигура») 3) Выделить часть, необходимую абстракции — реализация (общий интерфейс, «цвет фигуры») 4) Под каждую задачу опишите конкретную реализацию (красный цвет, черный цвет и т.д.) 5) Добавьте в класс абстракции ссылку на объект реализации 6) Если у вас есть несколько вариаций абстракции, создайте для каждой из них свой подкласс 7) Подать объект реализации в конструктор абстракции, чтобы связать их воедино. Использовать объект абстракции