Найти - Пользователи
Полная версия: Эволюционная разработка программного обеспечения.
Начало » Флейм » Эволюционная разработка программного обеспечения.
1
lavrton
В университете проходит курс “Технологии программирования”. Там мы изучаем различные парадигмы, стили и т.п.
Сейчас стоит задание эволюционной разработки. То есть пишешь первое задание. Потом второе, которое основывается на первом, но (!) без изменения кода первого задания, а только дописывание нового кода. (т.е. файлы первой программы изменять нельзя)
Например: первое - написать обработку объекта треугольника, второе - написать еще некоторые методы для обработки тех же треугольников.

Как это вижу я:
-в первой задании пишется некоторый класс Triangle, который обеспечивает нужную функциональность.
-во втором я пишу новый класс NewTriange(Triange), в который добавляю нужные методы.

Вопрос? Используется ли это как-то в реальных проектах?
Ведь проще в существующий треугольник добавить метод, чем написать класс-наследник и добавить метод в него.
o7412369815963
lavrton
Вопрос? Используется ли это как-то в реальных проектах?
Ведь проще в существующий треугольник добавить метод, чем написать класс-наследник и добавить метод в него.
используется.
например этот Triangle может использовать кто-то ещё и его не желательно менять, или Triangle находится “системной” библиотеке, т.е. не доступно для редактирования.
ZZZ
lavrton
Вопрос? Используется ли это как-то в реальных проектах?
Да, используется и очень часто.
lavrton
Понятно. Может кто подскажет литературу, где рассматриваются особенности такой разработки. Лучше с примерами на python.
Ferroman
Да какие там особенности. Это абсолютно типичная работа с унаследованным кодом, и при расширении сторонних библиотек.
Читать Физерса, Фаулера, Банду Четырёх. Но если в ООП новичок — лучше начать с чего попроще, что-то с хорошим описанием простых приёмов работы в ООП.
Обедающий философ
Это называется хороший стиль программирования.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB