Мне необходимо предоставить компонент, включающий бизнес-логику и пользовательский интерфейс, для использования на веб-сайте ASP.NET MVC 3, который разрабатывается другой компанией.
Я знаю, как обходить серверные элементы управления ASP.NET WebForms и как упаковывать и распространять их для повторного использования в проектах. У меня также есть опыт работы с MVC в целом и некоторый опыт ASP.NET MVC. Я перечитал материалы, рекомендующие использовать HTML-помощники и тому подобное, но большинство из них касается только повторного использования или повторного использования пользовательского интерфейса внутри одного проекта ASP.NET MVC. Я не нашел упоминаний о том, как упаковать и распространить такую функциональность для ASP.NET MVC.
Бизнес-логика является основной частью этого компонента. Предполагается, что это своего рода мастер, который проходит множество этапов и который также будет работать с базой данных с использованием Entity Framework и отправлять пользователю электронное письмо по завершении.
Как мне поступить с созданием элемента управления / компонента, который инкапсулирует сложную бизнес-логику, а также отображает свой собственный вывод пользовательского интерфейса / представления и который можно распространять в виде отдельной сборки? Это вообще возможно или только в некоторой степени?
Будет ли это как-то выполнимо, обернув модель, представление и контроллер внутри сборки?
Или лучше подходить к этому как к сложной модели? Если да, то как можно было бы подключить пользовательский интерфейс / представление и контроллер к этому компоненту потребителем компонента?
Я также видел пару поставщиков, таких как Telerik, которые продают что-то в соответствии с элементами управления / компонентами ASP.NET MVC, поэтому я предполагаю, что это как-то возможно сделать.