2009-09-21 11 views
7

¿Dónde puedo encontrar buena información sobre patrones de diseño comunes que podrían emplearse al construir un nuevo servicio de Windows?¿Cuáles son los patrones de diseño de servicios de Windows más comunes?

** Actualización: Me estoy preguntando si hay diseños comunes que se utilizan en la construcción de un servicio *

Por ejemplo:. He visto una sola tarea conseguir ejecutado en un temporizador (esto parece muy común al construir un servicio). También he visto 'cola de trabajadores' desplegados como servicios. ¿Existen otros patrones de diseño comunes cuando se diseña un software para que se ejecute como un servicio?

+0

Supongo que estoy confundido por las preguntas. Que yo sepa, en realidad solo hay una forma de crear un servicio, esa es la forma documentada en el SDK de Windows. Hay una serie de marcos que intentan automatizar el proceso, ¿está preguntando qué marco debe usar? –

+0

He agregado una aclaración. Por favor, avíseme si sigo sin estar claro. –

Respuesta

9

Un servicio de Windows es simplemente un proceso en segundo plano que no está vinculado a un escritorio interactivo (aunque puede comunicarse opcionalmente con uno). Los usos para tal concepto son muchos y variados. Los usos más comunes de un servicio (no excluyentes):

  • Escucha una solicitud entrante de otro lugar (por ejemplo, TCP, RPC, COM, HTTP) y actuar en consecuencia.
  • Programe una tarea para que se realice en un momento determinado, a intervalos regulares o cuando alguna otra condición se vuelva cierta, p. mirando el sistema de archivos.

El único patrón que puedo pensar que se debe aplicar a todos sus servicios es: separar la parte que decide cuando para hacer el trabajo de la parte que hace la obra. Esto facilitará la prueba unitaria y la reutilización de las distintas partes.

Cuestiones relacionadas