Если вы хотите говорить о теории, а не задавать конкретный вопрос, рассмотрите возможность проектирования с точки зрения комбинации Factory и Singleton с возможностью Стратегия в подсистемах, которые могут реализовать аналогичную операцию для ряда различных типов объектов.
Основная подсистема Factory сама по себе является синглтоном, цель которого, я надеюсь, очевидна. Используйте отложенную оценку, чтобы разрешить загрузку только необходимых объектов подсистемы при необходимости. Возможно, вы захотите предоставить каждой подсистеме механизм подсчета ссылок, который позволит отбрасывать их, когда они больше не нужны. Некоторые подсистемы могут быть одиночными и / или могут также реализовывать шаблон Стратегии для предоставления конкретной услуги для ряда типов классов.
Эта услуга может быть, например, проверка, рендеринг, сериализация и т. Д.
Ценностное суждение о том, является ли «хорошей идеей» создание приложения таким образом, не для меня. Я бы предпочел, чтобы старшая мудрость заговорила об этом.