пул "похожих" объектов? Природа пулов заключается в том, что когда вы запрашиваете предмет из пула, вы не знаете, какой из них вы получаете. Так что похожих недостаточно, они должны быть одинаковыми.
Но тогда они скованы? Так они разные? Поэтому, когда вы получаете объект, вы каким-то образом «настраиваете» его. И эту конфигурацию можно отменить, чтобы объект мог быть возвращен в пул?
Итак, мой первый вопрос: почему бы просто не «новый» объект, когда вы хотите его, и удалить его, когда закончите (или сделать gc-ed)?
Вы не говорите, что подталкивает вас к идее пула. Является ли стоимость создания этих объектов очень высокой? Шаблоны нуждаются в контексте, вы не предоставили достаточно информации, чтобы позволить нам прокомментировать целесообразность пула.
Мысль: Шаблон == Код, Код == Ошибка. Меньше кода == меньше ошибок. Сохраняйте это простым, если можете.
Идея цепочки ответственности звучит правдоподобно, но опять же вы не даете достаточно информации. Имеет ли значение последовательность «цепочка»? Как это определяется? Это меняется со временем? Это действительно цепь или больше как «сеть». Все ли объекты преобразуют данные? Каковы последствия выполнения преобразования, может ли это повлиять на то, как предыдущие элементы в цепочке будут думать об объекте?
Похоже, вы имеете в виду очень гибкую обработку. Вы строите чрезмерную гибкость? Какие требования привели к этой концепции "цепочки"?