Суть паттернов и других подходов в программировании
От: Alllie  
Дата: 06.08.14 07:46
Оценка:
Первый вопрос: как находить суть паттернов?

Вопрос может и кажется простым, но все же я его раскрою более подробно.
Что такое паттерн? И суть паттерна? Для этого надо понять как появился паттерн. А появился он так: была какая то проблема у которой были определенные признаки, программист придумал какое то решение, которое уменьшало данную проблему это решение окозалось довольно эффективным для похожих проблем, проблем у которых есть схожие с исходной проблемой признаки. И вот со временем данное решение назвали паттерном, так как оно эффективно решает определенный тип проблем. Суть паттерна в том, что он в определенных условия (определенный тип проблемы) действует эффективно.

Почему появилось такое понятие как антипаттерн? Потому что люди прочитали про паттерн, запомнили как его применять, но не поняли, зачем именно он нужен. И вот применив паттерн в том месте, где его суть (те плюсы которые он дает), не особо дает каких то плюсов программе мы получаем антипаттерн.

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

Второй вопрос: как соотнести то же самое к вопросам архитектуры приложения или вообще к другим областям? Какую архитектуру выбрать 3 звена (клиент, сервер, бд) или 2 звена (клиент, бд)?

Может есть какие то общие подходы? Как можно проанализировать, что выбрать? Листок бумаги + столбики плюсов и минусов для каждого варианта?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.