Форум сайта python.su
В университете проходит курс “Технологии программирования”. Там мы изучаем различные парадигмы, стили и т.п.
Сейчас стоит задание эволюционной разработки. То есть пишешь первое задание. Потом второе, которое основывается на первом, но (!) без изменения кода первого задания, а только дописывание нового кода. (т.е. файлы первой программы изменять нельзя)
Например: первое - написать обработку объекта треугольника, второе - написать еще некоторые методы для обработки тех же треугольников.
Как это вижу я:
-в первой задании пишется некоторый класс Triangle, который обеспечивает нужную функциональность.
-во втором я пишу новый класс NewTriange(Triange), в который добавляю нужные методы.
Вопрос? Используется ли это как-то в реальных проектах?
Ведь проще в существующий треугольник добавить метод, чем написать класс-наследник и добавить метод в него.
Офлайн
lavrtonиспользуется.
Вопрос? Используется ли это как-то в реальных проектах?
Ведь проще в существующий треугольник добавить метод, чем написать класс-наследник и добавить метод в него.
Офлайн
lavrtonДа, используется и очень часто.
Вопрос? Используется ли это как-то в реальных проектах?
Офлайн
Понятно. Может кто подскажет литературу, где рассматриваются особенности такой разработки. Лучше с примерами на python.
Офлайн
Да какие там особенности. Это абсолютно типичная работа с унаследованным кодом, и при расширении сторонних библиотек.
Читать Физерса, Фаулера, Банду Четырёх. Но если в ООП новичок — лучше начать с чего попроще, что-то с хорошим описанием простых приёмов работы в ООП.
Офлайн
Это называется хороший стиль программирования.
Офлайн