lavrton
Май 15, 2011 07:22:26
В университете проходит курс “Технологии программирования”. Там мы изучаем различные парадигмы, стили и т.п.
Сейчас стоит задание эволюционной разработки. То есть пишешь первое задание. Потом второе, которое основывается на первом, но (!) без изменения кода первого задания, а только дописывание нового кода. (т.е. файлы первой программы изменять нельзя)
Например: первое - написать обработку объекта треугольника, второе - написать еще некоторые методы для обработки тех же треугольников.
Как это вижу я:
-в первой задании пишется некоторый класс Triangle, который обеспечивает нужную функциональность.
-во втором я пишу новый класс NewTriange(Triange), в который добавляю нужные методы.
Вопрос? Используется ли это как-то в реальных проектах?
Ведь проще в существующий треугольник добавить метод, чем написать класс-наследник и добавить метод в него.
o7412369815963
Май 15, 2011 09:44:13
lavrton
Вопрос? Используется ли это как-то в реальных проектах?
Ведь проще в существующий треугольник добавить метод, чем написать класс-наследник и добавить метод в него.
используется.
например этот Triangle может использовать кто-то ещё и его не желательно менять, или Triangle находится “системной” библиотеке, т.е. не доступно для редактирования.
ZZZ
Май 15, 2011 09:53:41
lavrton
Вопрос? Используется ли это как-то в реальных проектах?
Да, используется и очень часто.
lavrton
Май 15, 2011 19:12:50
Понятно. Может кто подскажет литературу, где рассматриваются особенности такой разработки. Лучше с примерами на python.
Ferroman
Май 16, 2011 23:05:44
Да какие там особенности. Это абсолютно типичная работа с унаследованным кодом, и при расширении сторонних библиотек.
Читать Физерса, Фаулера, Банду Четырёх. Но если в ООП новичок — лучше начать с чего попроще, что-то с хорошим описанием простых приёмов работы в ООП.
Обедающий философ
Июнь 5, 2011 22:03:27
Это называется хороший стиль программирования.