пятница, 3 декабря 2010 г.

Параметризация. Часть 5. Аналогия с ООП

Про ассоциативность и типы параметров поговорили, теперь немного отвлечемся. Но отвлечемся не просто так, а по делу. Я уже проводил сравнение между геометрическим моделированием и программированием и с “статьях” и в комментариях. Сегодня я попробую немного остановиться на этом моменте.

image

То как сейчас выглядит работа в большинстве современных CAD систем, лично мне сильно напоминает ООП (объектно ориентированное программирование). Есть куски блоков-кирпичиков из которых мы создаем наш проект. Результат работы одного блока подается на вход другого... и пошла потеха.

image Разница в том, что в ООП эти кирпичики - это функции и процедуры, а в геом. моделировании  это фичеры (конструктивные элементы). Но это на нижнем уровне, подымаясь выше мы приходим к классам, dll и прочим моментам ООП; а в моделировании мы попадаем на уровни сборок, библиотечных элементов и пр. Ассоциация может и не самая очевидная и понятная, но все же имеет место быть.

Чем хорошо такое сравнение? (Кроме самого факта сравнения) А тем, что в ООП уже десятилетиями существуют  методики создания постоянно меняющимися коллективами поистине гигантских проектов. Движок блога, который Вы читаете (читаете блог, а не движок :)), браузер благодаря которому возможно такое чтение, операционная система в которой запущен браузер, CAD в котором работаете - вот лишь немногие из примеров такой работы. И поверьте уровень сложности подобных проектов зачастую существенно выше проектов, над которыми работают “механики”, строители и пр. И даже бешенное количество разных людей, думающих по разному, говорящих на разных языках и постоянная текучка кадров не мешают результатам подобной титанической работы существовать и работать. Да, без глюков не обходится, но вспомните про уровень сложности...

В общем нам есть чему поучиться у “программеров”. И в ближайшие пару раз я постараюсь рассказать, чему именно.

Комментариев нет:

Отправка комментария

Related Posts Plugin for WordPress, Blogger...
Rambler's Top100