¿Qué es la programación orientada a interfaces?
En un sistema orientado a objetos, varias funciones del sistema se completan mediante la cooperación de muchos objetos diferentes. En este caso, cómo se implementa cada objeto no es tan importante para los diseñadores de sistemas y la relación de colaboración entre cada objeto se convierte en la clave del diseño del sistema. Desde la comunicación entre diferentes clases hasta la interacción entre módulos, todo debe considerarse al comienzo del diseño del sistema. Este es también el contenido de trabajo principal del diseño del sistema. ¡Creo que la programación orientada a interfaz significa programar de acuerdo con esta idea! De hecho, en tu trabajo diario ya has programado según la interfaz, pero si no tienes conciencia de este aspecto, entonces sólo estás implementando pasivamente esta idea, lo que se manifiesta en frecuentes quejas de que el código modificado por otros te afecta; (interfaz no diseñada), que se manifiesta en el hecho de que los cambios en un módulo provocan ajustes a gran escala en otros módulos (las interfaces de los módulos no están bien diseñadas), etc. El Sr. Booch habló ese día sobre Interaction Designer, que se refiere a las personas que hacen este tipo de diseño, pero a un nivel superior. Creo que este tipo de personas es uno de los talentos que más faltan en nuestro equipo de diseño de software. 1. Comprensión de las interfaces. Una comprensión más profunda de las interfaces debería ser la separación de la definición (especificaciones, restricciones) y la implementación (el principio de separación de nombre y realidad). Cuando generalmente implementamos un sistema, generalmente integramos definición e implementación sin separación. Creo que la especificación de diseño del sistema más entendida debería ser separar todas las definiciones e implementación, aunque esto puede ser un poco perjudicial para algunos aspectos del sistema. complicado. La interfaz en sí refleja la comprensión abstracta del sistema por parte del diseñador del sistema. Debe haber dos tipos de interfaces: el primer tipo es una abstracción de una entidad, que puede corresponder a una clase abstracta; el segundo tipo es una abstracción de un determinado aspecto de una entidad, es decir, que forma una superficie abstracta (interfaz); ; Una entidad puede tener múltiples aspectos abstractos. Hay una diferencia entre cuerpo abstracto y superficie abstracta. 2. Otro factor que no se puede ignorar al diseñar una interfaz es el entorno (contexto, entorno) en el que se encuentra la interfaz. Desde la perspectiva de la teoría de sistemas: el entorno es la suma del espacio donde se ubican los elementos del sistema y los factores de influencia externos. . Cualquier interfaz se genera en un entorno determinado. Por lo tanto, no se puede ignorar el impacto de la definición del entorno y los cambios en el entorno en la interfaz. Sin el entorno original, todas las interfaces perderán su significado original. 3. Según el modelo de desarrollo de componentes (3C), los tres se complementan, cada uno tiene su propio rol y son integrados e indispensables. Orientado a objetos significa que cuando pensamos en un problema, tomamos el objeto como una unidad y consideramos sus propiedades y métodos. Orientado a procesos significa que cuando pensamos en un problema, tomamos un proceso específico (proceso de transacción) como una unidad. y considere que su implementación, diseño de interfaz y diseño sin interfaz es para tecnología de reutilización y no es un problema con (proceso) orientado a objetos: la interfaz mencionada en UML es otra forma de decir protocolo. No se refiere a interfaz COM, interfaz CORBA,