Нет, вы должны не передавать элементы пользовательского интерфейса в модель предметной области для привязки / заполнения.
В идеале модель вашего домена должна использоваться с Windows Forms / WPF / Silverlight / ASP.NET / MVC, которую вы называете.
Теперь я немного понимаю идею, что ваши бизнес-объекты должны знать, как хранить и визуализировать себя и т. Д. Это священный грааль ОО, но на практике это не работает, поскольку часто существуют зависимости (промежуточное ПО базы данных, компоненты пользовательского интерфейса и т. д.) с теми функциями, которые вам не нужны в вашей сборке BO, это сильно ограничивает вашу возможность повторного использования.
Что-то, что вы можете сделать, хотя это дает вашим пользователям иллюзию того, что ваш BO знает, как визуализировать себя, использует классы расширения (в отдельной сборке, чтобы содержать зависимости) что-то вроде ...
public static class AddressUIExtensions
{
public static void DisplayAddress(this Address add, AddressControl control)
{
...
}
}
Тогда пользователь API может просто сделать
var ctrl = new AddressControl();
address.DisplayAddress(ctrl);
но у вас все еще есть физическое разделение.