Многослойная (N-tiers) архитектура

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

Так вот, сложилось устойчивое мнение, что огород из нескольких физических уровней городится не потому, что это надо, а потому что какой-то "гуру" сказал. В итоге между экраном конечного пользователя и запрашиваемыми им данными образуется нехилая прослойка, которая на 90% занята перекачиванием исходной информации из одного формата представления в другой: бесконечные сериализации и десереализации, передача XML, дергание за веб-службы... С учетом, например, обновления части экрана по изменению каких-то данных в другой его части эти мытарства умножаются в разы. Растет время отклика системы. Пользователь нервничает и справедливо обвиняет в этом программистов.

Прежде чем городить огород честно задайте себе вопрос: для чего нужен вот этот данный конкретный слой. Скажем, слой WCF для доступа к объектам может быть нужен, если ваш клиент "умный" и "толстый", но работать нужно только по HTTP. А если это приложение ASP.Net, то поищите пути сократить путь (тавтология) информации от источника к пользователю и обратно.

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

И еще. Подход разработки "от модели" позволяет генерировать все эти слои бездельников без участия человека.

Ответить

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <b> <i> <strike> <center> <del> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd> <p> <br> <h1> <h2> <h3> <h4> <img> <hr> <sup> <sub> <blockquote>
  • Use <!--pagebreak--> to create page breaks.
  • You can enable syntax highlighting of source code with the following tags: <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

Captcha
Вопрос для предотвращения спама
Copy the characters (respecting upper/lower case) from the image.