В настоящее время я разрабатываю довольно большое веб-приложение и использую дизайн, ориентированный на домен.Изменение объектов отслеживания из нескольких источников в режиме управляемого доменом
У меня в настоящее время возникают проблемы с отслеживанием изменений в моем объекте Product. Дело в том, что продукты создаются частично из данных в SQL Azure, частично из данных в Azure Table Storage. Если некоторые свойства изменены, мне нужно будет сохранить их, и другие изменения будут только для одного.
В результате я не могу использовать NHibernate или Entity Framework для отслеживания изменений. Например Прайс аргумент о методе
public void AddPrice(Price price)
на сущности продукта должен быть сохранен в SQL Azure, расчеты по диапазону цен будут иметь место, и результат будет сохранен в Azure Table Storage.
Как бы вы это разрешили?
Мысли:
1) Я думал о реализации моего собственного изменения трекера на основе Castle.DynamicProxy, но кажется, что довольно утомительно.
2) Внедрение событий внутри объектов домена. Это не хорошая вещь.
Благодарим за разъяснение мне. Причина использования Azure Table Storage - по соображениям производительности. То, что я буду делать, всегда использует SQL Azure для сохранения моей модели домена и предоставления каких-либо инфраструктурных услуг для создания объектов хранения таблиц на основе SQL Azure. Это также отлично работает в сочетании с шаблоном CQRS (http://martinfowler.com/bliki/CQRS.html). – borgcc