Будет ли 2-уровневый вариант подходящим выбором для этого сценария

StackOverflow https://stackoverflow.com/questions/487705

Вопрос

Будет ли 2-уровневый вариант подходящим выбором для этого сценария:

  1. база данных sql server
  2. бизнесу никогда не потребуется более пары сотен одновременных подключений к общей базе данных по локальной сети
  3. тот факт, что (я считаю) разработка 2-уровневого
    применение
  4. Автоматическое обновление клиентской программы по локальной сети

Нет правильного решения

Другие советы

Двухуровневое решение может быть проще в разработке, но его будет сложнее поддерживать, если приложение любого размера и / или сложности.

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

Это один из тех вопросов, на которые вы, вероятно, получите столько же различных мнений, сколько и ответов.

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

Нужны ли вам 3 уровня или нет, должно зависеть от того, как долго вы собираетесь поддерживать проект и сколько функций / обновлений вы планируете для него позже.Это также может зависеть от того, сколько ошибок вы готовы принять (и исправить).IMO 3-tier стремится создавать более стабильное программное обеспечение.

Оба ответа, похоже, почти говорят о том, что нет ничего сложного в том, что 3-уровневое решение является превосходным.возможно

Рокфорд лхотка кажется, утверждается, что вы должны выбрать 2-уровневый, если только не будет экономической выгоды анализ вашей конкретной ситуации сводится к 3-уровневому.

он говорит :

Как хороший архитектор, вы должны быть втянуты пинками и криками в добавление уровней к вашей системе.

Безопасность, по его мнению, - это единственная область, в которой трехуровневое решение явно превосходит.

И он утверждает , что

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

Наконец, что касается масштабируемости, я хотел бы знать, правда ли, что если вы используете отключенные наборы записей в ado для доступа к данным, то у вас по умолчанию есть пул подключений и, следовательно, высокая степень масштабируемости в любом случае?

Скопировано из книги Чарльза Уильямса "Профессиональные базы данных Visual Basic 6" :-

2-Уровневый против N-Уровневого

Выбор между двухуровневой и n-уровневой модели, похоже, это то, что волнует людей умы.Существует так много переменных, которые необходимо учесть в уравнении (включая предпочтения), что ни одна книга не сможет определить наилучшую структуру для вашей клиент-серверной модели.Некоторые из этих переменные могут включать:

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

Мощность и универсальность центрального процессора, в котором размещен сервер.Чем мощнее процессор, тем быстрее сервер будет обрабатывать запрошенные задачи.

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

Экономический фактор.Сколько вы готовы потратить на свою систему?Обычно n-уровневая система будет стоить больше на разработку и обслуживание.Если вы сможете обойтись двухуровневым решением, вы сможете сэкономить много денег.

Мне кажется, это наводит на мысль, что если вы не разрабатываете для (очень популярного) веб-приложения, то 2-уровневый вариант может быть более логичным выбором.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top