Обязательно ли, чтобы все объекты, которые используют шаблон Flyweight, были неизменяемыми
Вы можете реализовать что-то похожее на муху, но ваши объекты вполне могут быть изменяемыми.Я бы расценил это как плохую реализацию.
Смотрите комментарии повторно.инвариантное состояние здесь .
Неизменность, безусловно, желательна, просто в зависимости от характера использования шаблона в навесном весе.Ваши клиенты могут не знать, что запрошенный / созданный ими объект фактически используется совместно с другими компонентами или потоками, и наличие изменяемого объекта в этом сценарии может быть проблематичным.