Я пытаюсь реализовать шаблон наблюдателя, используя ninject и NHibernate.События Ninject/NHibernate + шаблон наблюдателя
Я хотел бы иметь возможность вводить наблюдателей, которые действуют как «триггеры», когда объект сохраняется или удаляется через NHibernate.
Ключевого процентный пункт
- Я хочу, чтобы наблюдатель, чтобы получать уведомления в любое время объект сохранялось, включая каскадирование позволяет экономить, поэтому я использую событие NHibernate PostInsert/PostUpdate.
- Я хочу иметь возможность вводить наблюдателей через Ninject (не хочу, чтобы ядро находилось где-нибудь в обработчиках событий nhibernate).
- Наблюдатели различаются в зависимости от типа объекта, который сохраняется, поэтому мне нужен хороший способ узнать, какие наблюдатели должны быть вызваны в событиях NHibernate.
Мой код отлично работает теперь для объектов, которые загружаются через NHibernate с использованием впрыска конструктора. В модель домена вводится класс наблюдателя, который переносится через события nhibernate и может быть запущен без проблем.
Проблема: В нашей существующей кодовой базе используются конструкторы по умолчанию для наших объектов домена по сравнению с фабрикой. Из-за этого наблюдатели не будут впрыскиваться, если мы не переключимся на использование фабрики.
Я знаю, что переключение на фабрику будет работать, но я хотел бы посмотреть, есть ли у кого-нибудь лучшие предложения для этого. Итак, следует ли мне создавать фабрику для создания новых объектов или чего-то еще?
так что вы не можете поместить ctor на объекты домена с зависимостями, указанными в аргументах ctor? – AaronHS