3-уровневое приложение Winform - PullRequest
1 голос
/ 14 июля 2010

У меня есть проект колледжа, который я хочу сделать как 3-уровневое приложение Winform, так что мне нужно только обновить свое приложение в одном месте (т.е. на сервере).У кого-нибудь есть предложения как это сделать?Я должен работать с клиентской машиной и довольно хорошим сервером.Я хочу, чтобы на сервере находились база данных и бизнес-логика, и чтобы клиентский компьютер был тонким клиентом.

Ответы [ 2 ]

1 голос
/ 14 июля 2010

Напишите вашу winform (не совсем тонкий клиент), как вы это обычно делаете.Мы назовем это тонким, потому что он не будет тяжелым, просто логика интерфейса.Вместо того, чтобы ссылаться на свой бизнес и сборку данных, создайте класс агента, на который вы будете ссылаться из своего приложения winforms.Тогда у агента будет реализация для связи с серверной частью, а ваш интерфейс не будет знать, как происходит связь.Затем создайте класс Service Contract (который предоставит интерфейсы внешнему интерфейсу) в отдельном проекте.Агент будет использовать этот контракт.

Поскольку вы работаете в VS2005, я предполагаю, что у вас установлены расширения .net framework 3.0, но не 3.5.Вы можете использовать WCF для связи с внутренним сервером, где ваши интерфейсы будут вызываться агентами.

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

Таким образом, это выглядело бы так:

Уровень клиента
Winform

Агент

Уровень бизнеса
Договор на обслуживание

Бизнес-компоненты

Доступ к данным

Уровень базы данных
База данных

Вот статья , которая как бы описывает этот шаблон.

1 голос
/ 14 июля 2010

Попробуйте заглянуть в CSLA.NET Framework, это ориентированный на прецедент способ реализации вашей бизнес-логики. Поставляется с привязкой пользовательского интерфейса, сетевыми коммуникациями и другими функциями, такими как неограниченная отмена действий.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...