Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
Дайте убедительный довод зачем может понадобиться определять свой базовый контроллер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2013, 18:13 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
Вот тут рассказал: http://codearticles.ru/home/articleview/2296?comment=61 Реализация IDataService подхода в ASP.NET MVC4 Без базового контроллера нонче никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2013, 21:57 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
МСУ, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Базовый контроллер с универсальной логикой CRUD еще имеет какой-то смысл. Но красивой реализации не получится. Делать из базового контроллера поставщика данных — отвратительное решение. Очень плохое. Ты даешь любому отнаследованному контроллеру сервис ко всем вообще данным. Нельзя. Плохо. Фу-фу-фу. У MVC есть есть встроенная подсистема разрешения зависимостей и существует целая куча контейнеров на любой вкус. Надо просто это изучить и начать пользоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 10:40 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
У тебя каша в голове, логике (тем более круд) не место в контроллере. Такая логика находится в датасервисе или репозитории. Почитай уже про паттерны, надоело на бред твой отвечать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 11:03 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
Любой контроллер может юзать инстанс датасервиса, что тебе не нравится? Кроме плохо и фуфу арументы еще будут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 11:06 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVosttДайте убедительный довод зачем может понадобиться определять свой базовый контроллер?Что-то я не понял всей глубины вопроса. Базовый контроллер инкапсулирует в себе логику, общую для какой-то части приложения. Если таких мест в приложении нет, то базовый контроллер не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 11:17 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
http://code.google.com/p/mvc-authorization-authentication/source/browse/trunk/+mvc-authorization-authentication/MVCAuthenticationSample/BaseController.cs Классическое применение базового контроллера, о котором я говорил тут . Правда, я бы не совсем так писал секурити, я б вынес это в отдельный класс, который прибыли к базовому контроллеру. Но не суть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 11:35 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
skyANA, Для начала давайте выясним какую задачу решает контроллер в классическом MVC. M — это бизнес-логика, куда входит модель и все операции над ними. C — это прослойка между M и V. V — это по сути тупейший шаблон вывода данных. В реальных веб-приложениях эта схема не может поддерживаться в идеальном виде, так на V может существовать еще одна прослойка клиентской MVC или MVVP (к примеру kendo или knockout). Поэтому никакую логику C не должен инкапсулировать. Хотя никто никому не может запретить откровенно говнокодить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 13:26 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
МСУ, Не надо приводить унылое говнокодище из чужой репы. Тогда небыло глобальных фильтров. Нужна какая-то обработка для всех действий независимо от контроллера? У MVC для этого есть точки расширения, такие как глобальные фильтры например. Не отрицаю, что в большущем проекте какой-нибудь супер-CMS может понадобиться собственная реализация контроллера и то, если это не нарушает принципов единой ответственности и не повышает связность в архитектуре. Подача данных — ошибка проектирования однозначно. В ASP.NET MVC есть встроенная инфраструктура разрешения зависимостей. Не нужно её игнорировать, если лень разбираться, то тут уже ничего не поделаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 13:31 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVostt, У меня осталось на поддержке 2 проекта, где я по неопытности и незнанию делал один в один, как предлагает МСУ, т.е. базовый контроллер, передающий своим наследникам Service. Это ад. Залез в код через несколько месяцев и не имею представления о том, какой контроллер работает с какими данными, какие контроллеры меняют данные, а какие не могут. Ибо все контроллеры имеют доступ ко всем данным и могут делать с ними что угодно. Это плохо, плохо, и еще раз плохо. Это не гуд. Чугунной линейкой лупить по рукам за такую архитектуру. Последние мои проекты используют по возможности всю мощь MVC, в том числе DI и DepencyResolver, сказка. Пока не нашлось ни одной задачи, которая бы решалась лучше всего через базовый контроллер. Все покрыто тестами, на все 100%, при разработке не используется база данных, данные генерируются так как мне надо. Потом легко сборка с DataAccessLayer подменяется на EF. Никаких изменений в коде проекта не производится. Сказка. Нет нужды лезть и ковырять базовый контроллер, чтобы сменить полностью всю бизнес-логику. При чем менять можно не только базу данных, но и вообще весь слой доступа к данным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 13:39 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVostthVostt, У меня осталось на поддержке 2 проекта, где я по неопытности и незнанию делал один в один, как предлагает МСУ, т.е. базовый контроллер, передающий своим наследникам Service. Это ад. Залез в код через несколько месяцев и не имею представления о том, какой контроллер работает с какими данными, какие контроллеры меняют данные, а какие не могут. Ибо все контроллеры имеют доступ ко всем данным и могут делать с ними что угодно. Это плохо, плохо, и еще раз плохо. Это не гуд. Чугунной линейкой лупить по рукам за такую архитектуру. Последние мои проекты используют по возможности всю мощь MVC, в том числе DI и DepencyResolver, сказка. Пока не нашлось ни одной задачи, которая бы решалась лучше всего через базовый контроллер. Все покрыто тестами, на все 100%, при разработке не используется база данных, данные генерируются так как мне надо. Потом легко сборка с DataAccessLayer подменяется на EF. Никаких изменений в коде проекта не производится. Сказка. Нет нужды лезть и ковырять базовый контроллер, чтобы сменить полностью всю бизнес-логику. При чем менять можно не только базу данных, но и вообще весь слой доступа к данным. Один говносервис на весь проект - киськин бред, который даже обсуждать нечего. Совсем другая история - обобщенный контроллер. Если правильно его готовить, то во многих случаях нужны только views&models, минимум кода и возможность быстро вносить изменения без перелопачивания всего проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 15:04 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
SeVa, О, я бы очень хотел посмотреть на такую реализацию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 15:13 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
На правах оффтопа: Во как людям бошку забили. Как вариант, можно собирать бутылки, или торговать шавермой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 15:35 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVosttskyANA, Для начала давайте выясним какую задачу решает контроллер в классическом MVC. M — это бизнес-логика, куда входит модель и все операции над ними. C — это прослойка между M и V. V — это по сути тупейший шаблон вывода данных. В реальных веб-приложениях эта схема не может поддерживаться в идеальном виде, так на V может существовать еще одна прослойка клиентской MVC или MVVP (к примеру kendo или knockout). Поэтому никакую логику C не должен инкапсулировать. Хотя никто никому не может запретить откровенно говнокодить.Давайте лучше выясним какую задачу решаете ВЫ. К примеру рассмотрим CMS. В бекенде пользователь конструирует страницу, добавляет различные компоненты (модули): меню, форму логина, просто блок контента и т.п. Каждый компонент имеет своё представление (View), модель данных (Model) и соответсвенно контроллер (Controller). Вот последний и является наследником некоего ModelControllerBase к примеру с единственным действием (Action) Index(), что тупо отдаёт данные в представление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 16:00 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
Тьфу, опечатался: skyANAModelControllerBase ModuleControllerBase И как пишет SeVa, если правильно его готовить, то при создание каких-то новых компонентов можно будет ограничится views&models. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 16:08 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
ShSerge, как вариант, вообще можно не копать. вы бы лучше по теме что-нибудь сказали, а не глубокомысленно оффтопили с умным видом )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 18:44 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
skyANA, речь сейчас не идёт о какой-то конкретной задаче. в примере с компонентом/виджетом CMS есть смысл. кроме того, должна быть фабрика контроллеров для виджетов, знающая о базовом контроллере, о том как его конструировать и что ему нужно. в этом случае базовый виджет-контроллер может быть абстрактным, и тогда мы заюзаем мощь ООП. а не то, что некоторые гордо именуют «ООП»: подсовывание общих методов и свойств в базу, что является грубо говоря частным случаем глобальных свойств и функций в рамках «неймспейса» контроллера, улавливаете всю бредовость этой затеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 18:48 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVosttM — это бизнес-логика, куда входит модель и все операции над ними. C — это прослойка между M и V. V — это по сути тупейший шаблон вывода данных. Тогда непонятно, как же ты предлагал вести логику CRUD в контроллере. Ты перечишь сам себе hVosttПоэтому никакую логику C не должен инкапсулировать. Хотя никто никому не может запретить откровенно говнокодить. См. выше. hVosttМСУ, Не надо приводить унылое говнокодище из чужой репы. Почему ты считаешь, что это "унылое говнокодище из чужой репы", а то, что говоришь ты - не "унылое говнокодище из чужой репы"? hVosttТогда небыло глобальных фильтров. Нужна какая-то обработка для всех действий независимо от контроллера? У MVC для этого есть точки расширения, такие как глобальные фильтры например. Никак не возьму в толк, как коррелирует GlobalFilter и банальное наследование. Во-вторых, "тогда" - это когда? GlobalFilterCollection существуют аж с 3 версии MVC. hVosttНе отрицаю, что в большущем проекте какой-нибудь супер-CMS может понадобиться собственная реализация контроллера и то, если это не нарушает принципов единой ответственности и не повышает связность в архитектуре. Если не отрицаешь, то в чем, собственно, вопрос? hVosttПодача данных — ошибка проектирования однозначно. Как может наследование и инкапсуляция быть ошибкой проектирования? hVosttВ ASP.NET MVC есть встроенная инфраструктура разрешения зависимостей. Не нужно её игнорировать, если лень разбираться, то тут уже ничего не поделаешь. Раскрой тему подробнее, о чем именно речь. hVosttУ меня осталось на поддержке 2 проекта, где я по неопытности и незнанию делал один в один, как предлагает МСУ, т.е. базовый контроллер, передающий своим наследникам Service. Это ад. Залез в код через несколько месяцев и не имею представления о том, какой контроллер работает с какими данными, какие контроллеры меняют данные, а какие не могут. Ты уже достаточно "по опытности" нам показал, как работать с обработкой исключений. Во-вторых, что значит "не имею представления о том, какой контроллер работает с какими данными"? Если ты дурак и не разбираешься в C#, то не имеешь. Как можно читать код контроллера и не понимать, с какими данными он работает? Бред сивой кобылы. hVosttИбо все контроллеры имеют доступ ко всем данным и могут делать с ними что угодно. Это плохо, плохо, и еще раз плохо. Это не гуд. Чугунной линейкой лупить по рукам за такую архитектуру. Контроллеры, отнаследованные от базового, не "имеют доступ ко всем данным", а имеют доступ к общему датасервису (датасервисам). Почувствуй разницу. Во-вторых, с какими данными и как работать - не задача контроллера, а задача отдельного секьюрити класса, который доступен во всех контроллера. В-третьих, о архитектуре тебе еще рано судить, не дорос. hVosttПоследние мои проекты используют по возможности всю мощь MVC, в том числе DI и DepencyResolver, сказка. Пока не нашлось ни одной задачи, которая бы решалась лучше всего через базовый контроллер. Все покрыто тестами, на все 100%, при разработке не используется база данных, данные генерируются так как мне надо. Ситуация с базовым контроллером не запрещает использовать зависимости, твой фанатизм мне непонятен. hVosttПотом легко сборка с DataAccessLayer подменяется на EF. Вот тут рассмешил, ты еще не научился с EF работать, какой еще тут DataAccessLayer :) Во-вторых, сборка легко подменится и с ситуацией датасервиса, который интерфейсом доступен для всех контроллеров. В чем профит? hVosttНикаких изменений в коде проекта не производится. Сказка. Нет нужды лезть и ковырять базовый контроллер, чтобы сменить полностью всю бизнес-логику. При чем менять можно не только базу данных, но и вообще весь слой доступа к данным. Какая разница, куда лезть, в базовый контроллер или в класс, управляющий жизнью инстанса? hVosttskyANA, речь сейчас не идёт о какой-то конкретной задаче. Тебя пытаются вывести из сумрака и подогнать конкретную ситуацию. Речь именно о конкретной задаче. hVosttв примере с компонентом/виджетом CMS есть смысл. А нахрена ты тут морг всем насилуешь и срешь в моих камментах? (сцуко, забаню нахрен) hVosttкроме того, должна быть фабрика контроллеров для виджетов, знающая о базовом контроллере Ты бредишь. Сначала ты вещаешь о том, что базовый контроллер зло. Потом ты просвещаешь о том, что должна быть фабрика для работы с базовым контроллером. По-моему ты перегрелся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 19:36 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVostt, и ты задрал уже флудить в камментах! Если по сути рецепта нечего по сути сказать - проходи лесом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 19:41 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVosttskyANA, речь сейчас не идёт о какой-то конкретной задаче. в примере с компонентом/виджетом CMS есть смысл. кроме того, должна быть фабрика контроллеров для виджетов, знающая о базовом контроллере, о том как его конструировать и что ему нужно. в этом случае базовый виджет-контроллер может быть абстрактным, и тогда мы заюзаем мощь ООП. а не то, что некоторые гордо именуют «ООП»: подсовывание общих методов и свойств в базу, что является грубо говоря частным случаем глобальных свойств и функций в рамках «неймспейса» контроллера, улавливаете всю бредовость этой затеи?Нет. Совершенно не понимаю о чём Вы собственно пытаетесь рассуждать и какой тайный смысл найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 20:40 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
МСУ, 1. ссылку на говнокод который ты мне скинул датируется 2009 годом . а ASP.NET MVC 3 RTM has been released January 13, 2011 . так что про глобальные фильтры совсем не в кассу. в стабильные привычки, смотрю, у тя входит скинуть ссыль на первую попавшуюся выдачу из Google, не разобравшись даже с тем, что скидываешь. 2. к вопросу «Как может наследование и инкапсуляция быть ошибкой проектирования?» , отвечаю: какая нахрен инкапсуляция??? ребенок, ты чо несешь? иди открой справочник на слове «инкапсуляция» и прочитай что это хоть значит. я уже не понимаю, ты вообще программированием как занимаешься? просто выучил ряд терминов, а что они значат знать совсем не обязательно? ну и ну... поясню для маленьких деток. твой датасервис, который размещается в базовом классе с таким же успехом может быть доступен 1) из MvcApplication, 2) из собственного синглетона, 3) из ServiceLocator-а 4) и т.д., а проброс доступа к данным (как ты там его называешь, Service?) из базы в наследника к инкапсуляции не имеет никакого отношения. 3. к комменту «Раскрой тему подробнее, о чем именно речь.» берем первую попавшуюся книгу про ООП и постигаем что такое ООП, для чего он нужен, где применяется. потом открываем книгу про паттерны программирования и читаем, читаем, читаем.... потом уже изучаем ASP.NET MVC и узнаем, что (ничего себе!) он из коробки поддерживает аспектно-ориентированное программирование, да еще реализует ServiceLocator (предоставляя интерфейс IDepencyResolver), а с одним из популярных контейнеров еще и получаем DI. учим зачем и почему этот оверхед в коде нужен, что это даёт и к чему может привести сильная связность компонентов приложения. 4. «Как можно читать код контроллера и не понимать, с какими данными он работает?» просто включи мозг. как ребенок, ей богу. ясен пень, что прочитав код контроллера, станет понятно с чем он работает. но будет на много лучше, если это же самое будет понятно всего лишь глядя на его конструктор. 5. «Контроллеры, отнаследованные от базового, не "имеют доступ ко всем данным", а имеют доступ к общему датасервису (датасервисам). Почувствуй разницу.» поясни разницу, которую я должен почувствовать. что ты там называешь датасервисом, или чем-то еще, совершенно неважно. главное доступ через Это к данным ко всем есть. и ограничить его никак нельзя, так как базовый класс на всех один. или переформулируй что ты имеешь в виду, не взрывай мозг. 6. «Какая разница, куда лезть, в базовый контроллер или в класс, управляющий жизнью инстанса?» приехали. занавес. значит, между доступом «ко всем данным» и «к общему датасервису» какая-то фантастически-космическая разница есть, а тут разницы нет. мдаааааааааааа... П.С. понятно теперь откуда в этих так называемых рецептах такой силищи бредятина. но если ресурс делался исключительно «для себя» тогда ок, извиняюсь, больше не трону твой ресурс. просто надо предупреждать на главной странице, что в комментах разрешено только хвалить автора за его блестящий ум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2013, 00:53 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
skyANA, так если не понимаете, зачем тогда что-то писать? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2013, 00:54 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVosttskyANA, так если не понимаетеВроде я чётко написал, чего не понимаю. Ваших рассуждений. Вот объясните мне фразу: "подсовывание общих методов и свойств в базу". И зачем Вы мне её в ответ на мой пост написали? Разве я предлагал подсовывать какие-то общие методы и свойства в базу?hVosttзачем тогда что-то писать?Я предложил рассмотреть вопрос на конкретном примере, вместо того, чтобы искать тайный смысл в сферическом вакууме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2013, 02:28 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVostt, Лихо, я бы сказал смело. Оказывается сонтроллер не рекомендуется наследовать, вот ребята то не знали (Адам Фримен,дино эспозито), кои в своих примерах применяют эту анафему. Надо пойти дальше, и посоветовать в будущем запечатать его, а кто и попытается наследовать - пускай дрочит IController таких перцев как бы совсем не много должно быть. зы Не видел что там МСУ сотворил с контроллером, но смею предположить он там оптимизировал доступ к объектам. Это как видим порочная практика перенаследования базового класса для быстро и удобного доступа к чему то, равно как и рефакторинг для определенной области кода с использованием чего то общего. Надо смелее применять сингтоны, особенно для веб.... и точки расширения. зы еще бы понять что это такое - "если это же самое будет понятно всего лишь глядя на его конструктор" Но времени и ума пока на это нет, вот уже утро, а я все переписываю все проекты, в свете этого топика... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2013, 03:39 |
|
||
|
[MVC] Базовый контроллер
|
|||
|---|---|---|---|
|
#18+
hVostt1. ссылку на говнокод который ты мне скинул датируется 2009 годом . а ASP.NET MVC 3 RTM has been released January 13, 2011 . так что про глобальные фильтры совсем не в кассу. в стабильные привычки, смотрю, у тя входит скинуть ссыль на первую попавшуюся выдачу из Google, не разобравшись даже с тем, что скидываешь. В примере приводится демонстрация функционала, доступная в базовом контроллере, а именно секурность - HasUserAccessToModule, о которой я говорил тут 14144190 . Расскажи нам, как собираешься подобное реализовывать в глобальном фильтре? Побежал за попкорном. hVostt2. к вопросу «Как может наследование и инкапсуляция быть ошибкой проектирования?» , отвечаю: какая нахрен инкапсуляция??? ребенок, ты чо несешь? иди открой справочник на слове «инкапсуляция» и прочитай что это хоть значит. я уже не понимаю, ты вообще программированием как занимаешься? просто выучил ряд терминов, а что они значат знать совсем не обязательно? ну и ну... Тем неучам, кто не обрабатывает исключения в приложении и говорит, что у него никогда не падает код - не понять. Разжевываю для тех, кто в танке. Вот тут 14144190 я писал: ...МСУКлассическое применение базового контроллера, о котором я говорил тут. Правда, я бы не совсем так писал секурити, я б вынес это в отдельный класс, который прибыли к базовому контроллеру. Но не суть. То есть - секьюрити инкапсулировано в отдельном классе, отруливающим что можно делать пользователю. Сам класс прокидывается в базовом контроллере и доступен всем наследникам. Шагом марш в школу, недоросль. hVosttпоясню для маленьких деток. твой датасервис, который размещается в базовом классе с таким же успехом может быть доступен 1) из MvcApplication, 2) из собственного синглетона, 3) из ServiceLocator-а 4) и т.д., а проброс доступа к данным (как ты там его называешь, Service?) из базы в наследника к инкапсуляции не имеет никакого отношения. Ты даже уже не помнишь, о чем шла речь - не мудрено. Сначала иди почитай, что такое EF и логирование в приложении, а потом мы поговорим за инкапсуляцию. Речь шла о секурити классе, бестолочь (наследование + инкапсуляция). hVostt3. к комменту «Раскрой тему подробнее, о чем именно речь.» берем первую попавшуюся книгу про ООП и постигаем что такое ООП, для чего он нужен, где применяется. потом открываем книгу про паттерны программирования и читаем, читаем, читаем.... потом уже изучаем ASP.NET MVC и узнаем, что (ничего себе!) он из коробки поддерживает аспектно-ориентированное программирование, да еще реализует ServiceLocator (предоставляя интерфейс IDepencyResolver), а с одним из популярных контейнеров еще и получаем DI. учим зачем и почему этот оверхед в коде нужен, что это даёт и к чему может привести сильная связность компонентов приложения. А теперь подумай своим унылым мозгом, причем тут наследование? Или ты хочешь сказать, что с появлением IDependencyResolver в MVC отпала надобность в наследовании? Бред сивой кобылы, которая ничего не понимает в IoC и ООП - в кучу смешалось всё, люди, кони... hVostt4. просто включи мозг. как ребенок, ей богу. ясен пень, что прочитав код контроллера, станет понятно с чем он работает. но будет на много лучше, если это же самое будет понятно всего лишь глядя на его конструктор. Ты как доходяга - кто тебе запрещает использовать конструктор базового контроллера? Протаскивай там свой entry point в виде IDataService и инициализируй свойство. Тебе кто-то связал руки? hVostt5. поясни разницу, которую я должен почувствовать. что ты там называешь датасервисом, или чем-то еще, совершенно неважно. главное доступ через Это к данным ко всем есть. и ограничить его никак нельзя, так как базовый класс на всех один. или переформулируй что ты имеешь в виду, не взрывай мозг. Не понимаю твоей логики, ты не понимаешь разницу между базовым классом и наследником, но берешься что-то опровергать. Может таки в сад? hVostt6. приехали. занавес. значит, между доступом «ко всем данным» и «к общему датасервису» какая-то фантастически-космическая разница есть, а тут разницы нет. мдаааааааааааа... Ничего не понял, опять какой-то поток феерической фантазии. У тебя сложности с построением предложений? Еще раз и по порядку. hVosttП.С. понятно теперь откуда в этих так называемых рецептах такой силищи бредятина. У тебя нет мозгов, чтобы понять эту бредятину. hVosttно если ресурс делался исключительно «для себя» тогда ок, извиняюсь, больше не трону твой ресурс. просто надо предупреждать на главной странице, что в комментах разрешено только хвалить автора за его блестящий ум. Вот это ты зачем ляпнул? Во-первых, глупость. Во-вторых, интересно - возьми и проверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2013, 09:56 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38215325&tid=1358582]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 410ms |

| 0 / 0 |
