Давайте представим, что у нас есть приложение с котиками. Каждый котик имеет имя, возраст, породу и любимую игрушку. В обычном подходе мы бы создали отдельный объект для каждого котика со всеми этими характеристиками. Но что если у многих котиков одна и та же любимая игрушка? Правда нужно создавать новую игрушку каждый раз, даже если у другого котика она такая же? Здесь на помощь приходит паттерн Легковес. Пример кода: https://github.com/Ladgertha/patterns/commit/fd784b8a7ff2811de2343b237a073967cfc15550 У нас есть котик: Мы вынесли игрушку в отдельный класс, потому что у многих котиков может быть одинаковая игрушка. И сделали фабрику для игрушек: Теперь вместо того чтобы создавать новую игрушку для каждого котика, мы используем ToyFactory, которая возвращает существующую игрушку, если она уже была создана. Таким образом экономится память. Как видите, сам паттерн достаточно легкий. Но у него тоже есть несколько интересных аспектов, которые могут быть полезными: Преимущества: Недостатки: