Showing posts with label architecture. Show all posts
Showing posts with label architecture. Show all posts

Saturday, March 21, 2009

Соблазны модели распределенных объектов

Два-три раза в год мне доводится участвовать в одном и том же "шоу". Архитектор очередной объектно-ориентированной системы (допустим, приложения для обработки каких-то заказов) с гордостью выставляет на общее обозрение план распределения объектов: каждый программный компонент размещается в отдельном узле системы.

"Зачем все это?" — спрашиваю я.

"Производительность, вестимо, — отвечает архитектор, глядя на меня со слабо скрываемым превосходством. — Мы можем запустить каждый компонент на обработку в своем собственном блоке. Если мощности блока не хватит, мы запросто добавим еще парочку, чтобы сбалансировать нагрузку". Теперь он уже и не пытается утаить самолюбования вперемешку с удивлением по поводу того, что я вообще посмел открыть рот.

Между тем передо мной возникает любопытная дилемма: заявить парню все сразу и выставить за дверь либо не торопясь показать ему дорогу к светлому будущему. Последнее во всех смыслах выгоднее, но гораздо хлопотнее, поскольку архитектор обычнослишком пленен собственными иллюзиями и вряд ли легко с ними расстанется.

Безусловно, все это просто замечательно, но... Хотя многие стороны жизни распределенных объектов действительно приобретают искомую прозрачность, это явно не относится к аспектам производительности. Наш герой-архитектор осуществил распределение объектов, как ему казалось, исходя из соображений производительности, но на самом деле выбор подобной структуры наверняка снизит эффективность системы и существенно усложнит процессы ее разработки и практического внедрения.

(C) Фаулер

Monday, December 1, 2008

Фаулер vs "анемичная модель"

Преимущества тонкой модели при работе с данными от Ивана Бодягина

http://blogs.gotdotnet.ru/personal/bezzus/CommentView.aspx?guid=6c129492-c94a-40dc-bb05-134377ae1a5e