Ленивая загрузка сервисной моделью предметной области WCF?

Хотя это не связано с Python:

А expression оценивает значение. A statement что-то делает.

>>> x = 1
>>> y = x + 1     # an expression
>>> print y       # a statement (in 2.x)
2
6
задан Sampson 19 November 2011 в 03:47
поделиться

3 ответа

Что касается любой архитектуры ремоутинга, Вы захотите постараться не загружать полный граф объектов "вниз провод" неконтролируемым способом (если Вы не будете иметь тривиально небольшое количество объектов).

Статья Wikipedia имеет стандартные методы, в значительной степени полученные в итоге (и в C#. также!). Я использовал оба фантома и оцениваю держателей, и они работают вполне прилично.

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

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

3
ответ дан 16 December 2019 в 21:49
поделиться

Не делайте ленивой загрузки по сервисному интерфейсу. Определите явный DTO и используйте их, поскольку Ваши данные сокращаются в WCF.

Можно использовать NHibernate (или другой ORMs) для надлежащей выборки объектов, необходимо создать DTOs.

4
ответ дан 16 December 2019 в 21:49
поделиться

Вы могли попытаться использовать что-то базирующийся REST (например, Услуги передачи данных ADO.NET) и перенести его transpariently в Ваш клиентский код.

1
ответ дан 16 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: