powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / [MVC] Базовый контроллер
25 сообщений из 128, страница 1 из 6
[MVC] Базовый контроллер
    #38214945
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дайте убедительный довод зачем может понадобиться определять свой базовый контроллер?
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215175
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут рассказал: http://codearticles.ru/home/articleview/2296?comment=61

Реализация IDataService подхода в ASP.NET MVC4

Без базового контроллера нонче никак.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215325
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public abstract class BaseController<T>: Controller
   wherer T: IEntity
{

   public abstract string MyName { get; }

   public ActionResult Index() {
       ...
       return View(MyName);
   }

}



Базовый контроллер с универсальной логикой CRUD еще имеет какой-то смысл. Но красивой реализации не получится.

Делать из базового контроллера поставщика данных — отвратительное решение. Очень плохое. Ты даешь любому отнаследованному контроллеру сервис ко всем вообще данным. Нельзя. Плохо. Фу-фу-фу. У MVC есть есть встроенная подсистема разрешения зависимостей и существует целая куча контейнеров на любой вкус. Надо просто это изучить и начать пользоваться.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215331
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя каша в голове, логике (тем более круд) не место в контроллере. Такая логика находится в датасервисе или репозитории. Почитай уже про паттерны, надоело на бред твой отвечать.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215334
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любой контроллер может юзать инстанс датасервиса, что тебе не нравится? Кроме плохо и фуфу арументы еще будут?
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215340
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttДайте убедительный довод зачем может понадобиться определять свой базовый контроллер?Что-то я не понял всей глубины вопроса. Базовый контроллер инкапсулирует в себе логику, общую для какой-то части приложения. Если таких мест в приложении нет, то базовый контроллер не нужен.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215346
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://code.google.com/p/mvc-authorization-authentication/source/browse/trunk/+mvc-authorization-authentication/MVCAuthenticationSample/BaseController.cs

Классическое применение базового контроллера, о котором я говорил тут . Правда, я бы не совсем так писал секурити, я б вынес это в отдельный класс, который прибыли к базовому контроллеру. Но не суть.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215375
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Для начала давайте выясним какую задачу решает контроллер в классическом MVC.
M — это бизнес-логика, куда входит модель и все операции над ними.
C — это прослойка между M и V.
V — это по сути тупейший шаблон вывода данных.

В реальных веб-приложениях эта схема не может поддерживаться в идеальном виде, так на V может существовать еще одна прослойка клиентской MVC или MVVP (к примеру kendo или knockout).

Поэтому никакую логику C не должен инкапсулировать.
Хотя никто никому не может запретить откровенно говнокодить.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215381
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Не надо приводить унылое говнокодище из чужой репы. Тогда небыло глобальных фильтров. Нужна какая-то обработка для всех действий независимо от контроллера? У MVC для этого есть точки расширения, такие как глобальные фильтры например.

Не отрицаю, что в большущем проекте какой-нибудь супер-CMS может понадобиться собственная реализация контроллера и то, если это не нарушает принципов единой ответственности и не повышает связность в архитектуре. Подача данных — ошибка проектирования однозначно. В ASP.NET MVC есть встроенная инфраструктура разрешения зависимостей. Не нужно её игнорировать, если лень разбираться, то тут уже ничего не поделаешь.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215387
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

У меня осталось на поддержке 2 проекта, где я по неопытности и незнанию делал один в один, как предлагает МСУ, т.е. базовый контроллер, передающий своим наследникам Service. Это ад. Залез в код через несколько месяцев и не имею представления о том, какой контроллер работает с какими данными, какие контроллеры меняют данные, а какие не могут. Ибо все контроллеры имеют доступ ко всем данным и могут делать с ними что угодно. Это плохо, плохо, и еще раз плохо. Это не гуд. Чугунной линейкой лупить по рукам за такую архитектуру.

Последние мои проекты используют по возможности всю мощь MVC, в том числе DI и DepencyResolver, сказка. Пока не нашлось ни одной задачи, которая бы решалась лучше всего через базовый контроллер. Все покрыто тестами, на все 100%, при разработке не используется база данных, данные генерируются так как мне надо. Потом легко сборка с DataAccessLayer подменяется на EF. Никаких изменений в коде проекта не производится. Сказка. Нет нужды лезть и ковырять базовый контроллер, чтобы сменить полностью всю бизнес-логику. При чем менять можно не только базу данных, но и вообще весь слой доступа к данным.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215415
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostthVostt,

У меня осталось на поддержке 2 проекта, где я по неопытности и незнанию делал один в один, как предлагает МСУ, т.е. базовый контроллер, передающий своим наследникам Service. Это ад. Залез в код через несколько месяцев и не имею представления о том, какой контроллер работает с какими данными, какие контроллеры меняют данные, а какие не могут. Ибо все контроллеры имеют доступ ко всем данным и могут делать с ними что угодно. Это плохо, плохо, и еще раз плохо. Это не гуд. Чугунной линейкой лупить по рукам за такую архитектуру.

Последние мои проекты используют по возможности всю мощь MVC, в том числе DI и DepencyResolver, сказка. Пока не нашлось ни одной задачи, которая бы решалась лучше всего через базовый контроллер. Все покрыто тестами, на все 100%, при разработке не используется база данных, данные генерируются так как мне надо. Потом легко сборка с DataAccessLayer подменяется на EF. Никаких изменений в коде проекта не производится. Сказка. Нет нужды лезть и ковырять базовый контроллер, чтобы сменить полностью всю бизнес-логику. При чем менять можно не только базу данных, но и вообще весь слой доступа к данным.

Один говносервис на весь проект - киськин бред, который даже обсуждать нечего.
Совсем другая история - обобщенный контроллер. Если правильно его готовить, то во многих случаях нужны только views&models, минимум кода и возможность быстро вносить изменения без перелопачивания всего проекта.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215421
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

О, я бы очень хотел посмотреть на такую реализацию!
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215443
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На правах оффтопа: Во как людям бошку забили.
Как вариант, можно собирать бутылки, или торговать шавермой.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215465
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

Для начала давайте выясним какую задачу решает контроллер в классическом MVC.
M — это бизнес-логика, куда входит модель и все операции над ними.
C — это прослойка между M и V.
V — это по сути тупейший шаблон вывода данных.

В реальных веб-приложениях эта схема не может поддерживаться в идеальном виде, так на V может существовать еще одна прослойка клиентской MVC или MVVP (к примеру kendo или knockout).

Поэтому никакую логику C не должен инкапсулировать.
Хотя никто никому не может запретить откровенно говнокодить.Давайте лучше выясним какую задачу решаете ВЫ.

К примеру рассмотрим CMS. В бекенде пользователь конструирует страницу, добавляет различные компоненты (модули): меню, форму логина, просто блок контента и т.п. Каждый компонент имеет своё представление (View), модель данных (Model) и соответсвенно контроллер (Controller). Вот последний и является наследником некоего ModelControllerBase к примеру с единственным действием (Action) Index(), что тупо отдаёт данные в представление.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215471
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, опечатался:
skyANAModelControllerBase ModuleControllerBase
И как пишет SeVa, если правильно его готовить, то при создание каких-то новых компонентов можно будет ограничится views&models.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215566
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

как вариант, вообще можно не копать.
вы бы лучше по теме что-нибудь сказали, а не глубокомысленно оффтопили с умным видом ))
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215569
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

речь сейчас не идёт о какой-то конкретной задаче.
в примере с компонентом/виджетом CMS есть смысл. кроме того, должна быть фабрика контроллеров для виджетов, знающая о базовом контроллере, о том как его конструировать и что ему нужно. в этом случае базовый виджет-контроллер может быть абстрактным, и тогда мы заюзаем мощь ООП. а не то, что некоторые гордо именуют «ООП»: подсовывание общих методов и свойств в базу, что является грубо говоря частным случаем глобальных свойств и функций в рамках «неймспейса» контроллера, улавливаете всю бредовость этой затеи?
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215597
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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кроме того, должна быть фабрика контроллеров для виджетов, знающая о базовом контроллере
Ты бредишь. Сначала ты вещаешь о том, что базовый контроллер зло. Потом ты просвещаешь о том, что должна быть фабрика для работы с базовым контроллером. По-моему ты перегрелся.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215598
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, и ты задрал уже флудить в камментах! Если по сути рецепта нечего по сути сказать - проходи лесом.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215627
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

речь сейчас не идёт о какой-то конкретной задаче.
в примере с компонентом/виджетом CMS есть смысл. кроме того, должна быть фабрика контроллеров для виджетов, знающая о базовом контроллере, о том как его конструировать и что ему нужно. в этом случае базовый виджет-контроллер может быть абстрактным, и тогда мы заюзаем мощь ООП. а не то, что некоторые гордо именуют «ООП»: подсовывание общих методов и свойств в базу, что является грубо говоря частным случаем глобальных свойств и функций в рамках «неймспейса» контроллера, улавливаете всю бредовость этой затеи?Нет. Совершенно не понимаю о чём Вы собственно пытаетесь рассуждать и какой тайный смысл найти.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215770
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

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. «Какая разница, куда лезть, в базовый контроллер или в класс, управляющий жизнью инстанса?»

приехали. занавес. значит, между доступом «ко всем данным» и «к общему датасервису» какая-то фантастически-космическая разница есть, а тут разницы нет. мдаааааааааааа...


П.С. понятно теперь откуда в этих так называемых рецептах такой силищи бредятина. но если ресурс делался исключительно «для себя» тогда ок, извиняюсь, больше не трону твой ресурс. просто надо предупреждать на главной странице, что в комментах разрешено только хвалить автора за его блестящий ум.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215771
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

так если не понимаете, зачем тогда что-то писать? ))
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215803
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

так если не понимаетеВроде я чётко написал, чего не понимаю. Ваших рассуждений. Вот объясните мне фразу: "подсовывание общих методов и свойств в базу". И зачем Вы мне её в ответ на мой пост написали? Разве я предлагал подсовывать какие-то общие методы и свойства в базу?hVosttзачем тогда что-то писать?Я предложил рассмотреть вопрос на конкретном примере, вместо того, чтобы искать тайный смысл в сферическом вакууме.
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215809
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Лихо, я бы сказал смело.
Оказывается сонтроллер не рекомендуется наследовать, вот ребята то не знали (Адам Фримен,дино эспозито), кои в своих примерах
применяют эту анафему. Надо пойти дальше, и посоветовать в будущем запечатать его, а кто и попытается наследовать - пускай дрочит
IController таких перцев как бы совсем не много должно быть.
зы Не видел что там МСУ сотворил с контроллером, но смею предположить он там оптимизировал доступ к объектам.
Это как видим порочная практика перенаследования базового класса для быстро и удобного доступа к чему то, равно как и рефакторинг для определенной области кода с использованием чего то общего.
Надо смелее применять сингтоны, особенно для веб.... и точки расширения.
зы еще бы понять что это такое - "если это же самое будет понятно всего лишь глядя на его конструктор"
Но времени и ума пока на это нет, вот уже утро, а я все переписываю все проекты, в свете этого топика...
...
Рейтинг: 0 / 0
[MVC] Базовый контроллер
    #38215828
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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но если ресурс делался исключительно «для себя» тогда ок, извиняюсь, больше не трону твой ресурс. просто надо предупреждать на главной странице, что в комментах разрешено только хвалить автора за его блестящий ум.
Вот это ты зачем ляпнул? Во-первых, глупость. Во-вторых, интересно - возьми и проверь.
...
Рейтинг: 0 / 0
25 сообщений из 128, страница 1 из 6
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / [MVC] Базовый контроллер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]