Допустим, я хочу показать форму, которая представляет 10 различных объектов в выпадающем списке. Например, я хочу, чтобы пользователь выбрал один гамбургер из 10 разных, содержащих помидоры.
Поскольку я хочу разделить пользовательский интерфейс и логику, мне придется передать форму строкового представления гамбургеров, чтобы отобразить их в выпадающем списке. В противном случае пользовательский интерфейс должен был бы копаться в полях объектов. Затем пользователь выбирает гамбургер из выпадающего списка и отправляет его обратно контроллеру. Теперь контроллеру придется снова найти указанный гамбургер, основываясь на строковом представлении, используемом формой (может быть, идентификатором?).
Разве это не невероятно неэффективно? У вас уже были объекты, из которых вы хотели выбрать один. Если вы отправили в форму целые объекты, а затем вернули определенный объект, вам не нужно будет повторно указывать его позже, поскольку форма уже вернула ссылку на этот объект.
Более того, если я ошибаюсь и вам действительно нужно отправить весь объект в форму, как я могу изолировать интерфейс от логики?