Как использовать бизнес-объекты в Silverlight из существующего проекта - PullRequest
1 голос
/ 16 февраля 2011

У нас действительно большое решение с пользовательским доступом к данным и уровнем бизнес-логики. В настоящее время у нас есть пользовательский интерфейс Windows Forms и веб-интерфейс aspx.

Теперь мы хотим заменить интерфейс aspx проектом Silverlight. В качестве первого приза мы хотели бы использовать существующий уровень бизнес-логики (бизнес-объекты), который впоследствии вызывает наш пользовательский уровень данных для извлечения и обновления данных. Это все проекты библиотеки классов .net 3.5.

Можно ли будет использовать эти проекты? Или мне нужно переделать слой доступа к данным, используя что-то вроде EF4? Будет ли решение использовать службы RIA для доступа к этим объектам?

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

Ответы [ 3 ]

1 голос
/ 16 февраля 2011

Большой вопрос заключается в том, переносите ли вы дизайн пользовательского интерфейса в Silverlight (возможно, с небольшим уроном), или вы изменяете дизайн пользовательского интерфейса?

Если это редизайн, то забудьте ваши старые бизнес-объекты.Нравится вам это или нет, но старые бизнес-объекты будут ориентированы на старый пользовательский интерфейс, особенно его поведение.Новая модель, основанная на EF4, была бы здесь традиционным подходом.

Если вы портируете пользовательский интерфейс по сути одинаково, но с Silverlight, тогда вы можете повторно использоватьбизнес-объекты через WCF.Однако это также сомнительно.

0 голосов
/ 16 февраля 2011

Давиде имеет точку. Вы можете представить их как контракты данных и позволить им генерироваться на клиенте.

Если вам нужна дополнительная логика или свойства на стороне клиента, то вы можете добавить классы в библиотеку в качестве ссылки в новую библиотеку SL. Затем, пока они находятся в том же пространстве имен, что и на сервере (вы можете принудительно установить это, установив пространство имен по умолчанию в вашей библиотеке SL), svcutil будет обнаруживать их при создании прокси и использовать их.

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

0 голосов
/ 16 февраля 2011

приложение SL может ссылаться только на SL classLibrary или иметь ссылки на веб / службы.

В вашем случае я создал бы сервисную библиотеку WCF для использования в качестве моста и выставил бы свои бизнес-объекты на этом уровне.

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

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

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