Я не уверен, где Prism вписывается в это, если пара Result-Formatter не является чем-то специфичным для Prism.
Кроме того, я думаю, что это хороший случай для соглашения о переконфигурации, потому что вы можете создавать любое количество типов результатов и форматеров, не добавляя их в какие-либо сопоставления или классы / файлы конфигурации.
Однако, как создатель этого соглашения и API, вы обязаны выполнять и поддерживать соглашение. Предполагая, что вы будете размышлять о средствах форматирования, способных обрабатывать результаты, будет ли это сделано при первом запросе или запуске приложения? Как вы будете кэшировать сопоставления?
Большая часть соглашения о конфигурации требует от конечного разработчика принятия решений в пользу разумных значений по умолчанию и стандарта, которого они могут придерживаться, но это означает, что решения зависят от вас и уровня необходимо определить гранулярность переопределения, которую вы предоставляете. Например, может ли потребитель этого API иметь форматеры, определенные в более чем одной сборке (это может быть важным для Prism)? Если да, то как эти сборки указаны? Может ли потребитель отклониться от соглашения и отобразить средства форматирования с разными именами на типы результатов?
Звучит так, как будто это API, который будут использовать только вы, так что многое из этого является спорным, но в целом это всего лишь некоторые соображения.