Разве вы не можете добавить метод к объектам для форматирования тем? Затем каждый объект может делегировать объекту «стратегия», чтобы выполнить фактическое форматирование.
Причиной этого является возможность изменения десятичных разрядов и т. Д., Но также и возможность интернационализации - десятичное форматирование зависит от локали; некоторые страны используют десятичные запятые вместо точек или групповые цифры в наборах, отличных от тройки и т. д.
РЕДАКТИРОВАТЬ: Комментарий был таким, что помещает код представления в слой домена. Верно, поэтому примените стандартное исправление для всех проблем проектирования; добавить еще один слой косвенности:)
Возможно, вы не хотите иметь полный MVC, но концепция View и Model все еще кажется подходящей. Возможно, для каждой сущности определите класс View, чтобы PersonView сохранял ссылку на объект Person и имел свойства format_weight и т. Д. Для каждого интересующего его свойства Person? Он все равно должен использовать шаблон стратегии для фактического форматирования.
Итак, ваш пример будет
PersonView pv = new PersonView(person)
litWeight.Text = pv.format_weight();
(прошу прощения за синтаксические ошибки, я не говорю на C #)
Если вы хотите, вы можете сделать так, чтобы PersonView был заменен Person, либо переопределив методы / свойства и разделив его на Person, на который делается ссылка, либо унаследовав его от Person при создании PersonView?