La programación orientada a roles como forma de programación informática tiene como objetivo expresar las cosas en términos análogos a la comprensión conceptual humana del mundo . Esto debería hacer que los programas sean más fáciles de entender y mantener. [ cita necesaria ]
La idea principal de la programación orientada a roles es que los humanos piensan en términos de roles . Esta afirmación suele estar respaldada por ejemplos de relaciones sociales . Por ejemplo, un estudiante que asiste a una clase y el mismo estudiante en una fiesta son la misma persona, pero esa persona desempeña dos roles diferentes. En particular, las interacciones de esta persona con el mundo exterior dependen de su rol actual. Los roles suelen compartir características, por ejemplo, las propiedades intrínsecas de ser una persona. Este intercambio de propiedades suele ser manejado por el mecanismo de delegación .
En la literatura más antigua y en el campo de las bases de datos , parece [¿ investigación original? ] que ha habido poca consideración por el contexto en el que los roles interactúan entre sí. Este contexto se está estableciendo en lenguajes de programación más nuevos orientados a roles y aspectos, como Object Teams. Compárese el uso de "rol" como "un conjunto de programas de software (servicios) que permiten a un servidor realizar funciones específicas para usuarios o computadoras en la red" en la jerga de Windows Server . [1]
Muchos investigadores [ cuantitativos ] han argumentado las ventajas de los roles en el modelado y la implementación. Los roles permiten que los objetos evolucionen con el tiempo, permiten vistas (interfaces) del objeto independientes y existentes al mismo tiempo , explicando los diferentes contextos del objeto y separando las preocupaciones . Generalmente los roles son un elemento natural en la formación de conceptos diarios del ser humano. Los roles en los lenguajes de programación permiten que los objetos tengan interfaces cambiantes, como vemos en la vida real : las cosas cambian con el tiempo, se usan de manera diferente en diferentes contextos, etc.
[...] función de servidor es un conjunto de programas de software (servicios) que permiten a un servidor realizar funciones específicas para usuarios o computadoras en la red.