Зачем vs Как
От: ZevS Россия  
Дата: 24.10.05 14:44
Оценка: 25 (2)
Все нижесказанное – про техзвенку, однако в равной степени может быть применено к: архитектуре, модели, паттернам, технологиям... Итак.

Поскольку вопросы про трехзвенку появляются в форумах с завидной регулярностью, складывается впечатление, что очень многие наслышаны об ее чудодейственных свойствах и общем благотворном влиянии на разрабатываемый проект. В праведном желании узнать про трехзвенку как можно больше, эти многие сеют на полях форума вопросы, в которых, как правило, присутствует вопрос «как», и напрочь отсутствует вопрос «зачем». Второй же вопрос, на мой взгляд, представляется куда более сложным и важным, и мне непонятно – почему человек отвечает на него самостоятельно, и только затем идет на форум задавать второй.

Почему я считаю, что человек ответил на вопрос «зачем» скорее неверно, чем верно? То есть, почему использование терхзвенки в данном случае неоправданно? Причин две. Первая – поскольку человек не очень представляет, что такое трехзвенка (что вытекает из вопроса «как»), то скорее всего он ответил на вопрос «зачем» опираясь на чьи-то слова «Терхзвенка – это круто!» и прочих слухах. Вторая причина – человеку, не знающему «как» терхзвенку, скорее всего, поручили не очень сложный (большой) проект, необходимость терхзвенки в котором сомнительна.

На мой взгляд, классическая терхзвенка DB<-DataAccess<-Business<-UI вредна в:


В этих случаях лишние звенья способны только замедлить разработку и полностью запутать код, чем сделать затруднительным дальнейшее сопровождение и развитие. Такие проекты имеют тенденцию периодически переписываться с нуля.

Так в каких же случаях терхзвенка необходима? Я вижу следующие:


Заметьте, в каждом пункте есть слово очень.

Если ваша система удовлетворяет всем этим требованиям – смело берите трехзвенку на вооружение.
Если же вы не очень представляете, зачем оно вам нужно – подумайте, что для вас важнее: качественный и вовремя законченный проект или желание узнать «как».
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.