This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wiki:psi [2024/08/28 17:32] – admin | wiki:psi [2024/08/28 17:42] (current) – admin | ||
---|---|---|---|
Line 3: | Line 3: | ||
Al igual que el principio de Responsabilidad Única, este principio es una aplicación de la idea de cohesión. Más específicamente, | Al igual que el principio de Responsabilidad Única, este principio es una aplicación de la idea de cohesión. Más específicamente, | ||
- | Se produce una violación del principio, por ejemplo, cuando una interfaz tiene dos conjuntos de métodos $M_x$ y $M_y$. El primer conjunto es utilizado por los clientes $C_x$ (que no usan los métodos | + | Se produce una violación del principio, por ejemplo, cuando una interfaz tiene dos conjuntos de métodos $M_x$ y $M_y$. El primer conjunto es utilizado por los clientes $C_x$ (que no usan los métodos |
+ | |||
+ | Ejemplo: Supongamos una interfaz '' | ||
+ | |||
+ | <code java> | ||
+ | interface Funcionario { | ||
+ | |||
+ | double getSalario(); | ||
+ | |||
+ | double getFGTS();// | ||
+ | |||
+ | int getSIAPE();// | ||
+ | |||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Una alternativa que atiende el Principio de Segregación de Interfaces consiste en crear interfaces específicas ('' | ||
+ | |||
+ | <code java> | ||
+ | interface Funcionario { | ||
+ | double getSalario(); | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | interface FuncionarioCLT extends Funcionario { | ||
+ | double getFGTS(); | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | interface FuncionarioPublico extends Funcionario { | ||
+ | int getSIAPE(); | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
- | Ejemplo: Supongamos una interfaz Funcionario con los siguientes métodos: (1) retornar salario, (2) retornar contribución mensual al FGTS (Fondo de Garantía por Tiempo de Servicio) y (3) retornar SIAPE (es decir, el número de matrícula de todo funcionario público federal). Esta interfaz viola el Principio de Segregación de Interfaces, ya que solo los empleados de empresas privadas, contratados bajo el régimen de CLT, tienen una cuenta en el FGTS. Por otro lado, solo los empleados públicos tienen una matrícula en el SIAPE |