Страница 1 из 1

модульное vs ООП

СообщениеДобавлено: 28 дек 2010, 15:36
[DD]
Интересно узнать Ваше мнение по вопросу:
Стоит ли при web-разработке отказываться от модульного программирования в сторону программирования с использованием только ООП?

поясню... есть у меня некое подобие движка для разработки различных web приложений (кто видел код моих курсовых и диплома поймет). Он построен на модульной основе но с применением ООП т.е. существуют некоторые классы (шаблонизатор, работа с БД и так еще чего по немногу) меня он в принципе устраивает. Но сейчас все большую силу набирают ООП фреймворки вот и я тоже начал потихоньку его переводить полностью на ООП.
Уже несколько раз начинал все сначала, но так и не добился той гибкости, что была в движке вот и встал вопрос: А надо ли?

И вообще какой подход Вы считаете наиболее удачным: модульное с применением ООП или ООП онли; и по чему если не секркт?

Re: модульное vs ООП

СообщениеДобавлено: 28 дек 2010, 20:27
Vladislav_133
1. ООП дает выигрышь только для достаточно больших программ. ООП это не мода. Это конкретная технология, которая в определенных обстоятельствах дает выигрышь. В чем выигрышь?
а) При аккуртной разработке ООП дает меньше ошибок.
б) Позволяет создавать системы, которые легче модернизируются.
в) Легко интегрируются с библиотеками классов.
2. Переделывать программу написанную смешанным способом? Нет. Я думаю, надо писать сначала. Я бы так и сделал.
3. Если размер вашей программы меньше 10 000 строк, то не стоит использовать ООП.
4. Не стоит писать смешанные программы.

Re: модульное vs ООП

СообщениеДобавлено: 01 фев 2011, 17:55
alekam
Модульное программирование и ООП не исключают друг друга. Обычно классы все равно объединяются в модули.
Или под модульным программирование понимается разделение кода программы на отдельные файлы и при необходимости подключение нужных (такое распространено в PHP)?

ООП предлагает совершенно другой подход к разработке программ чем другие методологии. Оно предполагает построение модели предметной области в отличии от набора алгоритмов. Конечно можно его использовать по-другому, но как уже говорили это не эффективно.

ООП фреймворки преследуют немного другую цель - ускорение разработки ПО. Они предоставляют некий набор компонентов, которые можно использовать (а можно и не использовать). Изначально полагается что вы разрабатываете систему с использованием популярных паттернов, фреймворки предоставляют готовую реализацию этих паттернов. + некий набор часто используемых компонентов, которые можно использовать в своей системе практически без изменений. Грубо говоря это такой конструктор лего. Если нравятся формы в Zend Zramework, то почему их не использовать для генерации форм?
Другое дело, что компоненты во фреймворках бывают тесно связаны между собой и без создания проекта использовать их не всегда получится. Именно поэтому они и называется фреймворками, а не наборами библиотек.

Освоение фреймворков имеет смысл, если вы занимаетесь разработкой ПО в промышленных масштабах и процесс разработки построен согласно гибким методологиям разработки ПО.