Comments 11
А я слышал ещё одну штуку, которую стараюсь применять.
Предпочитайте композицию наследованию.
Вынесите общий код в отдельный класс и не делайте наследование совсем.
Предпочитайте композицию наследованию.
Вынесите общий код в отдельный класс и не делайте наследование совсем.
+3
Композиция — это круто, но о другом. В данном случае речь идет о том, как организовать абстрактный класс без попоболи
0
Не делать наследование совсем — очень плохой совет. Есть разные ситуации, для решения коротых удобны разные инструменты. Хороший инженер должен владеть разнообразными инструментами и знать, когда что уместно применять.
+2
Согласен, слишком категорично получилось.
Только очень часто примеры наследования выглядят хуже, чем тот же пример через композицию.
Я пользуюсь наследованием во всех своих проектах и в рабочих тоже, но в целом, по моему личному опыту — композиция в долгосрочной поддержке безопаснее и безболезненнее.
Только очень часто примеры наследования выглядят хуже, чем тот же пример через композицию.
Я пользуюсь наследованием во всех своих проектах и в рабочих тоже, но в целом, по моему личному опыту — композиция в долгосрочной поддержке безопаснее и безболезненнее.
0
UFO just landed and posted this here
Конечно можно. Но мне нужен был лаконичный пример для демонстрации данного принципа проектирования
0
UFO just landed and posted this here
«Не надо быть умным, надо быть понятным». Я стараюсь ориентироваться на флагманов нашей индустрии — все приличные авторы обьясняют сложные понятия на максимально простых примерах, т.к. целью ставится объяснить, а не показать собственную крутость.
> потом начинают применять где надо и где не надо
Такое поведение говорит о том, что человек действительно понял какую-то конкретную тему, но не потрудился разобраться во всем остальном. У меня был коллега, который все принципы проектирования сводил к SRP. Показываешь ему Инверсию зависимостей — так это же SRP! Как раскладывать на уровни абстракций — так это же SRP! Сегрегация интерфейсов — о, так это совсем SRP! И так во всём
> потом начинают применять где надо и где не надо
Такое поведение говорит о том, что человек действительно понял какую-то конкретную тему, но не потрудился разобраться во всем остальном. У меня был коллега, который все принципы проектирования сводил к SRP. Показываешь ему Инверсию зависимостей — так это же SRP! Как раскладывать на уровни абстракций — так это же SRP! Сегрегация интерфейсов — о, так это совсем SRP! И так во всём
0
Да ладно вам ))
улыбочку =)
public report SuperPooperTrashNoobReportMethod(bool? type){
if (type) // true
{
return MonthlyReport();
}
else // false
{
return DailyReport();
}
// another
return HourlyReport();
}
+1
Sign up to leave a comment.
Голливудский принцип (IoC)