Secreton (patrón de diseño)

Secreton (patrón de diseño)

Secreton (patrón de diseño)

El patrón de diseño secreton (secreto) está diseñado para tener el comportamiento del patron Singleton pero quitando también la posibilidad de que la clase sea instanciada o heredada.

Su intención consiste en prohibir que la clase sea accedida por nadie, por lo que se utiliza frecuentemente como repositorio interno en jerarquías de clases complejas. Por ejemplo, se puede utilizar para enlazar frameworks de lenguajes mixtos, como aplicaciones web.

Ejemplos de este patrón los podemos encontrar en sistemas operativos Microsoft.

Ejemplo de implementación

Una implementación en lenguaje de programación Java sugerida por Patricio Fagalde:

private class Secreton {
    // El constructor privado no permite que se genere un constructor por defecto
    private Secreton() {
           /** Aca va el código oculto **/
    }
 }

Patrones relacionados

  • Abstract Factory: Muchas veces son implementados mediante Singleton, ya que normalmente deben ser accesibles públicamente y debe haber una única instancia que controle la creación de objetos, pero también pueden ser implementados por Secreton sin perder sus cualidades reproductivas.
  • Monostate: Es similar a secreton, pero en lugar de controlar el instanciado de una clase, asegura que todas las instancias tengan un estado común, haciendo que todos sus miembros sean de clase.

Enlaces externos

¿Como un constructor puede ser privado? (En ingles)

Obtenido de "Secreton (patr%C3%B3n de dise%C3%B1o)"

Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Melocotón (patrón de diseño) — Saltar a navegación, búsqueda El patrón de diseño melocotón tiene un comportamiento similar al patrón Singleton, pero con el agregado de melocotonía a su constructor. El objetivo es generar información suficiente como para que la melocotonía sea… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”