По большому счету потерь при использовании ООП три. Во–первых, необходимо овладеть методикой объектно–ориентированного проектирования и программирования. На это нужно время. Эта потеря одноразовая, правда, если в будущем вы столкнётесь с языком программирования не поддерживающем классов, ваши навыки придется пересмотреть. Вторая потеря касается затрат на проектирование. Время объектно–ориентированного проектирования несколько больше, чем при структурном подходе. В действительности, время потраченное на проектирование не является потерей, оно даёт выигрыш в кодировании, отладке и последующей модификации программы. Третья потеря касается эффективности. Методы оказались короткими и многие из них вызывают методы базовых классов. Вызовы же процедур требуют нескольких лишних операций. Особенно это касается виртуальных методов.
Надо сказать, что погоня за эффективностью часто портит другие качества программ. Поэтому можно рекомендовать следующий подход:
• сначала следует разработать хорошо структурированную правильно работающую программу;
• затем выявить ее части, не удовлетворительные с точки зрения эффективности;
• подчистить эти части, удалив ненужные операции, особенно это касается циклов и часто используемых процедур;
• выполнить алгоритмическую оптимизацию, например применить более быстрый метод сортировки, индексировать данные, использовать быструю графику и пр.
• когда возможности алгоритмической оптимизации исчерпаны, следует понять, какой эффект даст “техническая” оптимизация, такая как исключение вызовов процедур путем их укрупнения, упрощение обработки ошибок, а может быть и выполнение части программы на ассемблере;
• и только если эффект обещает быть существенным, то внести нужные изменения.
Несмотря на кажущееся обилие дополнительных действий, такая последовательность значительно сокращает время разработки и способствует написанию качественных программ. Один из механизмов заключается в том, что на каждом шаге можно установить правильность изменений, сравнив результаты исходной и оптимизированной программ. С другой стороны, не тратятся усилия на оптимизацию несущественных частей. Таким образом, последний недостаток ООП можно расценивать как устранимый.
Опубликовал Kest
October 12 2011 13:40:05 ·
0 Комментариев ·
10054 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.