tag:blogger.com,1999:blog-458002489272917533.post236306688021265454..comments2024-02-14T14:07:38.890+05:00Comments on Блог Александра Бындю: IoC-контейнер в ASP.NET с использованием шаблона MVP (Model-View-Presenter)Alexander Byndyuhttp://www.blogger.com/profile/14185486842573956085noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-458002489272917533.post-40303584777666504682011-03-19T19:57:29.644+05:002011-03-19T19:57:29.644+05:00@Nikolay Sergeev
> ASP.NET - это и так MVP
С ...@Nikolay Sergeev<br /><br />> ASP.NET - это и так MVP<br /><br />С большой натяжкой. В случае кодбехайнда есть проблемы с модульным тестированием, инжектированием зависимостей, повторным использованием кода.<br /><br />> воспользоваться фабриками, которые являются все тем же IoC<br /><br />Опять же с большой натяжкой. Для разрешения зависимостей в коде IoC гораздо удобнее фабрик. Фабрики Alexander Byndyuhttps://www.blogger.com/profile/14185486842573956085noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-88858650339805221862011-03-10T01:49:06.194+05:002011-03-10T01:49:06.194+05:00ASP.NET - это и так MVP, совершенно не вижу смысла...ASP.NET - это и так MVP, совершенно не вижу смысла усложнять себе жизнь вводя еще один presenter. <br /><br />В чистом ASP.NET для разрыва зависимостей DI подходит не очень, но можно воспользоваться фабриками, которые являются все тем же IoC.nshttps://www.blogger.com/profile/00609432143366390888noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-60257337134877640942010-11-23T16:20:50.832+05:002010-11-23T16:20:50.832+05:00@s-stude
> Cуществует какая-то очередность при ...@s-stude<br />> Cуществует какая-то очередность при байнде зависимостей? <br /><br />Нет<br /><br />> У меня, почему-то, возвращается или новый инстанс view или presenter'a<br /><br />Надо смотреть код. Скидывайте мне на почтуAlexander Byndyuhttps://www.blogger.com/profile/14185486842573956085noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-42331647318085353612010-11-23T14:30:28.902+05:002010-11-23T14:30:28.902+05:00И еще один момент - не совсем ясен процесс ресолви...И еще один момент - не совсем ясен процесс ресолвинга presenter'a во view. У меня, почему-то, возвращается или новый инстанс view или presenter'aAnonymoushttps://www.blogger.com/profile/18059167096869414235noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-20451647743404063432010-11-23T13:37:08.005+05:002010-11-23T13:37:08.005+05:00Cуществует какая-то очередность при байнде зависим...Cуществует какая-то очередность при байнде зависимостей? Т.к. у меня сейчас вылетает StackOverflowException в Ninject.Core<br />(Пытаюсь разрешить зависимости, использую еще MVP для WinForms)Anonymoushttps://www.blogger.com/profile/18059167096869414235noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-19814149441137271942010-11-19T15:20:45.138+05:002010-11-19T15:20:45.138+05:00@s-stude
В презентере будет логика управления UI (...@s-stude<br />В презентере будет логика управления UI (в данном случае WebForms), а в слое бизнес-логики работа с сущностями, выполнение бизнес-операций, например, активация аккаунта или добавления продукта в корзину. Презентер может только попросить бизнес-логику о выполнении этих операций.Alexander Byndyuhttps://www.blogger.com/profile/14185486842573956085noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-7891588533593502262010-11-19T15:08:42.678+05:002010-11-19T15:08:42.678+05:00В таком случае, при использовании MVP нам нет необ...В таком случае, при использовании MVP нам нет необходимости в сборке BusinessLogic.Services, т.к. вся логика будет в presenter?Anonymoushttps://www.blogger.com/profile/18059167096869414235noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-21842577082241435952010-04-27T09:16:17.912+06:002010-04-27T09:16:17.912+06:00@Dimonina
Ок, но будет лучше, если ты пришлешь мн...@Dimonina <br />Ок, но будет лучше, если ты пришлешь мне реализацию ListView и DataPager с использованием MVP. Пиши на мыло, как будут результаты. Если не получится, то я добавлю в исходники свою версию =)Alexander Byndyuhttps://www.blogger.com/profile/14185486842573956085noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-39578231507150927842010-04-27T09:10:35.566+06:002010-04-27T09:10:35.566+06:00Так в том то и дело что есть такой затык, что нель...Так в том то и дело что есть такой затык, что нельзя использовать датапейджер и листвью без использования компонента ХХХдатасурс на странице, который, в свою очередь (если речь про обжект датасурс) требует ссылки на класс с логикой или проксей на логику, иначе пейджинг не будет работать. Я сейчас посмотрю как с этим дело в 4 фреймворке, если сделали возможность задавать без датасурсов - вопрос Дмитрий Воробьевhttps://www.blogger.com/profile/04989754654372842992noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-3431142466626245062010-04-27T08:56:58.095+06:002010-04-27T08:56:58.095+06:00@Dimonina
Если честно, я не понимаю в чем проблема...@Dimonina<br />Если честно, я не понимаю в чем проблема =)<br />Можно и нужно использовать элементы отображения, которые тебе удобны. Например, используй DataPager, только данные для него подготовь в Presenter, а не в code-behind.Alexander Byndyuhttps://www.blogger.com/profile/14185486842573956085noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-33238075695042662372010-04-27T01:23:06.218+06:002010-04-27T01:23:06.218+06:00Спасибо, Саш. Про мвп обяз почитаю.
Скачал ЛистВью...Спасибо, Саш. Про мвп обяз почитаю.<br />Скачал ЛистВью демо. Собственно это опять простой пример c датабайндингом. Я говорил о связке ListView и DataPager. В примере из SVN-а номер страницы задается по квери-стринг параметру, но самого пейджера на странице не нашел (запустить проект не могу, на данной машине только экспресс версия веб-девелопера 2010, чета не хочет). То есть в данном случае Дмитрий Воробьевhttps://www.blogger.com/profile/04989754654372842992noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-44972190870171026332010-04-26T20:48:57.885+06:002010-04-26T20:48:57.885+06:00@Dimonina
На самом деле все проще, чем вы думаете....@Dimonina<br />На самом деле все проще, чем вы думаете.<br /><br />Закомитил в исходники пример работы с ListView. <br /><br />Чтобы вам было легче дальше продвигаться в этой теме, прочитайте главу из книги Роберта Мартина http://my.safaribooksonline.com/0131857258/ch38<br /> в ней очень подробно рассмотрено применение шаблона MVP.Alexander Byndyuhttps://www.blogger.com/profile/14185486842573956085noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-4292766814014289742010-04-26T19:30:22.409+06:002010-04-26T19:30:22.409+06:00да я в общем на входные данные хотел бы посмотреть...да я в общем на входные данные хотел бы посмотреть, просто когда такой банальный вывод - это все равно просто и понятно. Да, разложили "по полочкам", можно оттестировать, все красиво и клево.<br />Но взять тот же ListView с пейджером. Для вывода пейджинга (не знаю как в новом 4.0 асп.нет, может придумали что-то) нужно обязательно использовать какой-нибудь ХХХдатасурс. Взять тот же Дмитрий Воробьевhttps://www.blogger.com/profile/04989754654372842992noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-15762628640005751622010-04-26T16:56:36.464+06:002010-04-26T16:56:36.464+06:00@Dimonina
Ок. Кроме FormView еще с чем-нибудь есть...@Dimonina<br />Ок. Кроме FormView еще с чем-нибудь есть проблемы?Alexander Byndyuhttps://www.blogger.com/profile/14185486842573956085noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-32992767407898748232010-04-26T16:46:08.184+06:002010-04-26T16:46:08.184+06:00Хотелось бы в примере хоть какого-нибудь инпута. И...Хотелось бы в примере хоть какого-нибудь инпута. И не только с текстбокса по щелчку на кнопку. Какой-нибудь FormView бы рассмотретьДмитрий Воробьевhttps://www.blogger.com/profile/04989754654372842992noreply@blogger.com