Pull to refresh

Comments 11

А я слышал ещё одну штуку, которую стараюсь применять.
Предпочитайте композицию наследованию.
Вынесите общий код в отдельный класс и не делайте наследование совсем.
Композиция — это круто, но о другом. В данном случае речь идет о том, как организовать абстрактный класс без попоболи
Не делать наследование совсем — очень плохой совет. Есть разные ситуации, для решения коротых удобны разные инструменты. Хороший инженер должен владеть разнообразными инструментами и знать, когда что уместно применять.
Согласен, слишком категорично получилось.
Только очень часто примеры наследования выглядят хуже, чем тот же пример через композицию.

Я пользуюсь наследованием во всех своих проектах и в рабочих тоже, но в целом, по моему личному опыту — композиция в долгосрочной поддержке безопаснее и безболезненнее.

Композиция прекрасна. Как и грамотно организованное наследование, когда оно нужно. Мы снова приходим к спору о здравом смысле.

UFO just landed and posted this here
Конечно можно. Но мне нужен был лаконичный пример для демонстрации данного принципа проектирования
UFO just landed and posted this here
«Не надо быть умным, надо быть понятным». Я стараюсь ориентироваться на флагманов нашей индустрии — все приличные авторы обьясняют сложные понятия на максимально простых примерах, т.к. целью ставится объяснить, а не показать собственную крутость.

> потом начинают применять где надо и где не надо
Такое поведение говорит о том, что человек действительно понял какую-то конкретную тему, но не потрудился разобраться во всем остальном. У меня был коллега, который все принципы проектирования сводил к SRP. Показываешь ему Инверсию зависимостей — так это же SRP! Как раскладывать на уровни абстракций — так это же SRP! Сегрегация интерфейсов — о, так это совсем SRP! И так во всём
Да ладно вам ))
улыбочку =)
public report SuperPooperTrashNoobReportMethod(bool? type){
	if (type) // true 
	{		
		return MonthlyReport();
	}
	else // false
	{
		return DailyReport();
	}
	// another
	return HourlyReport();
}

UFO just landed and posted this here
Sign up to leave a comment.

Articles