Регистрация  |  Вход

Наследуете ли вы контроллеры?

Ладно, продолжу свою старую традицию задавания глупых вопросов.

один молодой и наивный разраб, преисполненный знаниями ООП, взял и сделал иерархию контроллеров. Вывел в абстрактный класс-контроллер все обшие методы, и отнаследовал от него несколько других контроллеров, переписывая методы или добавляя новые. и выглядит задорно.

но я не знаю что и думать. дело в том, что контроллеры - это самый часто меняемый по требованию клиента тип кода. Сегодня кажется, что там есть общие для всех методы (точнее говоря, с общей реализацией) и сигнатура, а завтра может оказаться, что у каждой странице все по-разному должно быть...


ваше мнение?

Ладно, продолжу свою старую традицию задавания глупых вопросов.

один молодой и наивный разраб, преисполненный знаниями ООП, взял и сделал иерархию контроллеров. Вывел в абстрактный класс-контроллер все обшие методы, и отнаследовал от него несколько других контроллеров, переписывая методы или добавляя новые. и выглядит задорно.

но я не знаю что и думать. дело в том, что контроллеры - это самый [b]часто меняемый по требованию клиента[/b] тип кода. Сегодня кажется, что там есть общие для всех методы (точнее говоря, с общей реализацией) и сигнатура, а завтра может оказаться, что у каждой странице все по-разному должно быть...


ваше мнение?

Думаю, что однозначного ответа на этот вопрос нет. В любом случае, всегда найдутся какие-то методы базовые для всех контроллеров, например обработчик ошибок, так что наследование имеет место быть.

Думаю, что однозначного ответа на этот вопрос нет. В любом случае, всегда найдутся какие-то методы базовые для всех контроллеров, например обработчик ошибок, так что наследование имеет место быть.

На моем текушем проекте есть BaseController который часто наследуется - начиналось все красиво и ради высоких целей а в итоге закончилось как всегда - все превратилось в кастыли и я уже давно его перестал использовать. В этот контроллер вынесли враперы для dml операций, сделали враппер для result (все данные оборачиваются в этот врапепр и он передается на страницу для дальнейшегно использования) - короче один геморрой. Все равно все эти универсальные методы без предварительной обработки данных нельзя использовать - в итоге кода еще больше в контроллерах + нихрена не понятно что делается внутри этих базовых методов - их постоянно меняли из-за чего ломалось все в непредсказуемых местах.

На моем текушем проекте есть BaseController который часто наследуется - начиналось все красиво и ради высоких целей а в итоге закончилось как всегда - все превратилось в кастыли и я уже давно его перестал использовать. В этот контроллер вынесли враперы для dml операций, сделали враппер для result (все данные оборачиваются в этот врапепр и он передается на страницу для дальнейшегно использования) - короче один геморрой. Все равно все эти универсальные методы без предварительной обработки данных нельзя использовать - в итоге кода еще больше в контроллерах + нихрена не понятно что делается внутри этих базовых методов - их постоянно меняли из-за чего ломалось все в непредсказуемых местах.

Потому что нехрен пихать все в один класс.

У меня есть класс Core. Его наследуют все. В этом классе есть методы для получения конфигурации пакета. Работа с лицензиями и все. Также есть класс Utils туда вынесены все статические методы.

Потому что нехрен пихать все в один класс.

У меня есть класс Core. Его наследуют все. В этом классе есть методы для получения конфигурации пакета. Работа с лицензиями и все. Также есть класс Utils туда вынесены все статические методы.

wilder
Потому что нехрен пихать все в один класс.

Абсолютно верно - каждому классу свой код !!!!!!!!!!

[quote="wilder"]Потому что нехрен пихать все в один класс.[/quote]
Абсолютно верно - каждому классу свой код !!!!!!!!!! :D 

wilder
У меня есть класс Core. Его наследуют все.

Ну здравствуй, core новый год! через два года обсуждений дошли до самого интересного...

[quote="wilder"]У меня есть класс Core. Его наследуют все.[/quote]

Ну здравствуй, core новый год! через два года обсуждений дошли до самого интересного...