Допустим, у меня есть класс Size, который имеет свойства высоты и ширины (на самом деле этот класс немного сложнее, но Size - хороший пример).
Я хочу отобразить это как $ width x $ height в моем пользовательском интерфейсе.
Очевидный способ сделать это - привязать к свойству размеров, которое зависит от ширины и высоты.
Мой вопрос: где лучше всего добавить эту новую недвижимость?
Я мог бы добавить его к самому классу Size в модальном режиме, но затем, если другой контроллер хочет отобразить строку, отличную от другой, я застрял, создав еще одно свойство. Я также неохотно делаю это, потому что в моем случае класс Size находится в фреймворке, который будет использоваться в нескольких разных местах (хотя, вероятно, все из кода, который я контролирую).
Я мог бы добавить его в категорию к классу Size внутри проекта, содержащего представление / контроллер, чтобы он был доступен только в тех местах, которые, как я знаю, будут использоваться, но в разных местах я видел предположения о том, что категории имеют тенденцию быть чрезмерным, и я вынужден задаться вопросом, является ли это одним из тех случаев.
В случае одного экземпляра Size я мог бы создать свойство в классе контроллера, содержащем его, но это становится более сложным, когда у вас есть массив Sizes.
Я мог бы связать объект всего размера и использовать преобразователь, чтобы превратить их в строки, но привязка к массиву размеров привела бы к тому, что вам пришлось бы преобразовывать каждый элемент массива в новый массив в преобразователе, что кажется немного некрасивым.