ninject와 NHibernate를 사용하여 옵저버 패턴을 구현하려고합니다.Ninject/NHibernate 이벤트 + 옵저버 패턴
NHibernate를 통해 객체가 지속되거나 삭제 될 때 "트리거"역할을하는 관찰자를 삽입 할 수 있기를 바랍니다.
키 points-는
- 나는 관찰자 내가 NHibernate에 PostInsert/PostUpdate 이벤트를 사용하고 왜 저장 캐스케이드를 포함, 객체가 유지 될 때마다 통지를합니다.
- Ninject를 통해 관찰자를 삽입 할 수 있기를 원합니다 (nhibernate 이벤트 핸들러에서 커널을 원하지 않는).
- 관찰자는 유지되는 개체의 유형에 따라 다르므로 NHibernate 이벤트에서 어떤 관찰자를 호출해야하는지 알 수있는 좋은 방법이 필요합니다.
내 코드는 생성자 삽입을 사용하여 NHibernate를 통해로드 된 객체에 대해 훌륭하게 작동합니다. 옵저버 클래스는 nhibernate 이벤트를 통해 전달되는 도메인 모델에 주입되며 문제없이 해제 될 수 있습니다.
문제 : 우리의 기존 코드베이스는 도메인 객체에 대한 기본 생성자를 팩토리 대신 사용합니다. 이 때문에 관찰자는 공장을 사용하지 않는 한 주입되지 않습니다.
나는 모든 것을 공장으로 전환하는 것이 효과가 있다는 것을 알고 있지만 누구나이 작업을 수행하는 데 더 좋은 제안이 있는지 알고 싶었습니다. 그래서 새로운 객체 나 다른 것을 인스턴스화하는 팩토리를 만들어야합니까?
그래서 ctor 인수에 나열된 종속성을 가진 도메인 개체에 ctor를 넣을 수 없습니까? – AaronHS