Я подумываю о высоком уровне архитектуры приложения WPF.WPF/Layered Architecture Question -
Обычно я думаю, что с точки зрения этого
- Сервер базы данных
- слой доступа к данным на своем собственном сервере
- бизнес-логики на своем собственном сервере
- WCF обертку круглый бизнес-уровень
- UI-слой для использования на клиенте.
E.g. тонкий клиент со всей магией, происходящей на удаленных серверах.
Но кто-то из команды задал вопрос, должен ли уровень бизнес-логики быть на удаленном сервере. Почему бы просто не наклеить это на клиента, сделав его менее тонким клиентом и более толстым клиентским серверным приложением.
У нас нет необходимости в WCF на данный момент, и, предполагая, что мы по-прежнему архивируем бизнес-логику, так что это на отдельном уровне, это имеет для меня некоторое значение с точки зрения упрощения инфраструктуры.
Мой вопрос: есть ли какие-либо хорошие архитектурные причины, чтобы не развертывать уровень бизнес-логики для клиентских машин наряду с уровнем пользовательского интерфейса, когда веб-службы не требуются?
я могу думать о drwabacks, но ни один из них не кажется, что большой
- Меньше необходимость обновления на клиенте (но, конечно, ClickOnce это уменьшает)
- больше нагрузка на клиентской машине.
- Необходимость обеспечения базы данных сервера достаточно коренастый и подключение к нему достаточно
Я с вами. Однако с прагматической точки зрения и для сокращения усилий по разработке первоначально (нет WCF). Если мы являемся дисциплиной в архитектуре BLL, есть еще одна причина, чтобы избежать подхода выше. – AJM
См. Мои комментарии выше относительно компонентов и различных технологий. –