2011-11-02 20 views
5

Mientras aprendía eventos y delegados, no puedo evitar pensar en el patrón de diseño del Observador.Eventos y delegados. ¿Qué patrón de diseño?

Soy un tipo de nivel principiante con C# y patrones de diseño. Cuando se usan eventos y delegados para, por ejemplo, disparar un evento desde un formulario secundario y ser recogidos por el padre, ¿es ese el patrón de diseño del Observador?

¿Qué otros patrones de diseño son eventos y delegados utilizados en?

Estaría interesado en conocer otras 'cosas' (lo siento por mi falta de terminología) en .NET se basan en patrones de diseño comunes, como los de la Banda de los Cuatro.

Creo que es más fácil entender ejemplos de código y explicaciones con tales temas si se puede relacionar con un patrón. Personalmente de todos modos.

Gracias.

Respuesta

3

es que el patrón de diseño Observer?

Sí. Los eventos son básicamente una implementación específica del lenguaje del patrón de diseño del observador. Se consideró lo suficientemente útil como para construir directamente en el lenguaje en C#.

Muchos patrones de diseño se pueden escribir usando delegados en C# - Pero eso es más un detalle de implementación que el patrón en sí. Por ejemplo, el patrón de visitante y el patrón de comando pueden implementarse (bastante elegantemente) a través de delegados.

3

Está en lo correcto - los eventos/delegados son de hecho una implementación del patrón Observer.

Se ha dicho que el patrón es un ciudadano de primera clase del .NET framework.

Aparte de Observer, por supuesto hay iterador (siempre que use foreach y IEnumerable \ IEnumarable<T>).

Cuestiones relacionadas