2010-12-05 11 views
5

Estoy haciendo algo de codificación de mvc de asp.net usando DDD. Tengo objetos que representan las entidades comerciales y los repositorios de servicio que manejan la búsqueda y los agregan. Soy nuevo en esto y a medida que mi aplicación crece, empiezo a ver una gran cantidad de código secundario que debe ejecutarse como resultado de agregar, eliminar o cambiar los objetos/datos de mi dominio.Programación impulsada por dominio y eventos

Me gustaría crear un sistema de eventos en el que una acción active otras partes del código. Por ejemplo, cuando elimino un usuario, deseo poder suscribir varias otras cosas a esta acción para que se ejecuten cuando ocurra una eliminación.

¿Cómo ha codificado sus aplicaciones para manejar estas situaciones? ¿Cómo puedo establecer un sistema OO confiable y coherente para mi problema? Ya sé sobre eventos y delegados, pero estoy más interesado en técnicas de codificación y buenas prácticas.

+0

En .net esto generalmente se realiza a través de las interfaces INotifyPropertyChanged e IObservableCollection. Una gran cantidad de DataSet-gui-Magic se implementa de esta manera. – k3b

Respuesta

8

Cosa Es posible que desee comprobar que se llama domain events. Básicamente, la idea es que el propio modelo de dominio desencadena eventos específicos del dominio (por ejemplo, CustomerRegistered) y prácticamente todo lo que desees puede suscribirse a ellos para hacer cosas adicionales fuera del dominio.

Udi Dahan escribió algunos buenos artículos sobre esto: 1st, 2nd, 3rd.

También - sample application por Szymon es bastante explicativo sobre esto.

CQRS es genial, pero afecta a toda la arquitectura. Podría ser un exceso.

+0

Esta respuesta está en la línea de lo que estaba pensando implementar – Roman

+0

Esta es una muy buena respuesta. Gracias por compartir esos artículos Arnis. No he podido encontrarlos a través de Google. ¡Gracias! –

Cuestiones relacionadas