Roles

Desarrollo basado en roles
Descargar ahora

Roles Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • BSD License
  • Precio:
  • FREE
  • Nombre del editor:
  • Arjan Molenaar
  • Sitio web del editor:
  • http://gaphor.devjavu.com/

Roles Etiquetas


Roles Descripción

Desarrollo basado en roles Los roles son una biblioteca de Python para el desarrollo basado en roles.Pythonic Implementación del patrón de DCI (Interacción de contexto de datos) (http://www.artima.com/articles/dci_vision.html). La gran diferencia con Mixins es que este rol es Aplicado solo a la instancia del sujeto, no a la clase de sujeto (AAS, se construye una nueva clase). Se pueden asignar y revocar. Se pueden aplicar múltiples roles a una instancia. La revocación puede ocurrir en cualquier pedido en particular. En particular, rolesas un ejemplo básico, considere una clase de dominio: >>> persona de clase (objeto): ... definitivamente __init __ (yo, nombre): ... auto.name = nombre >>> Persona = Person persona ("JOHN") La instancia debe participar en una colaboración en la que cumple un papel particular: >>> a partir de roles Importar roletype >>> Clase Carpenter (Objeto): ... __metaclass__ = Roletype ... Def Chop (yo): ... regreso "Picar, cortar" Asignar el papel a la persona: >>> Carpintero (persona) # Doctest: + Ellipsis >>> Persona # Doctuest: + Ellipsis La persona sigue siendo una persona: >>> IsInstance (persona, persona) VERDADERA ... y puede hacer cosas carpinteras: >>> Persona.chop () 'Picar, Chop'see roles.py para más ejemplos.Factoriesin En la mayoría de los casos, las instancias requerirán implementaciones específicas de un determinado papel. Esto se puede hacer decorando las implementaciones de roles específicas con el decorador Asigno (). >>> a partir de roles importación Asignada >>> @assignto (persona) ... Clase Biker (Objeto): ... __metaclass__ = roletype ... Def Bike (Self): ... Volver 'Ciclo, Ciclo' >>> Motorista (persona) # Doctest: + Ellipsis Asignar a una instancia de clase diferente no funciona : >>> Clase CAT (objeto): ... Pase >>> Motorista (CAT ()) # Doctest: + Elipsistraceback (última llamada más reciente): ... NoroleException: Ningún papel encontrado para Requisitos: · Python


Roles Software relacionado