Modo de apariencia del modo de diseño 17

antecedentes

Hay un ejemplo en la vida real, si toma un préstamo para comprar una casa, debe comunicarse con varias agencias. Es posible que deba transferir su cuenta, debe ir al gobierno municipal para que la maneje; si necesita una cuenta de seguro social de fondo de previsión, debe ir a la Oficina de Recursos Humanos y Seguridad Social para imprimir y sellar; si es necesario un salario, tienes que ir al banco para imprimir. Sin embargo, si hay un departamento integral para manejar estos procedimientos, no tiene que andar corriendo.

Modo de apariencia-Fondo

Lo mismo ocurre con el desarrollo de sistemas: si hay cada vez más subsistemas, la complejidad de acceder al sistema también será mayor. Si el subsistema cambia, entonces la lógica del acceso del cliente también cambiará, lo que viola el "principio de apertura y cierre" en el diseño. Para ello, necesitamos el modo de apariencia para reducir el grado de acoplamiento del sistema.

Modo de apariencia-Fondo 2

Que es el modo de apariencia

"

Proporcionar una interfaz unificada para un conjunto de interfaces en un subsistema. Facade define una interfaz de nivel superior que hace que el subsistema sea más fácil de usar. Una interfaz de alto nivel hace que el subsistema sea más fácil de usar).

"

El modelo de apariencia se compone principalmente de los siguientes tres elementos:

"
  • Función de fachada: proporciona una interfaz común para varios subsistemas.

  • Rol de subsistema: parte de la función del sistema se realiza y los clientes pueden acceder a él a través del rol de apariencia.

  • Rol de cliente: Acceso a las funciones de cada subsistema a través de un rol de apariencia.

"

La relación de composición de elementos es la siguiente:

Diagrama de estructura

Código

Subsistema

Fachada

Prueba de código:

public class FacadeTest {
    public static void main(String[] args){
        Facade facade = new Facade();
        facade.method();
    }
}

Los resultados de la prueba son los siguientes:

子系统01的method1()被调用!
子系统02的method2()被调用!
子系统03的method3()被调用!

Pensando en el modo de apariencia

¿Por qué deberíamos usar el modo de apariencia? Por supuesto, para reducir la interdependencia del sistema, si el cliente accede directamente al subsistema, cuando la lógica del sistema cambia y necesita ser modificada, la lógica a la que accede el cliente también puede necesitar ser modificada. Si se agrega el modelo de apariencia, solo existe la dependencia entre el cliente y la clase de apariencia. Depende de usted modificar el sistema.

Los clientes no pueden acceder directamente al sistema, lo que aumenta la seguridad del sistema.

Sin embargo, cuando cambia la lógica del sistema, la clase de apariencia también debe modificarse. Por lo tanto, se debe considerar el riesgo de modificar la categoría de apariencia.

Recomendado en el pasado

Escanee el código QR para ser más emocionante. O busque Lvshen_9 en WeChat , puede responder para obtener información en segundo plano

  1. 回复"java" 获取java电子书;

  2. 回复"python"获取python电子书;

  3. 回复"算法"获取算法电子书;

  4. 回复"大数据"获取大数据电子书;

  5. 回复"spring"获取SpringBoot的学习视频。

  6. 回复"面试"获取一线大厂面试资料

  7. 回复"进阶之路"获取Java进阶之路的思维导图

  8. 回复"手册"获取阿里巴巴Java开发手册(嵩山终极版)

  9. 回复"总结"获取Java后端面试经验总结PDF版

  10. 回复"Redis"获取Redis命令手册,和Redis专项面试习题(PDF)

  11. 回复"并发导图"获取Java并发编程思维导图(xmind终极版)

Otro: haga clic en [ Mis beneficios ] para tener más sorpresas.

 

Supongo que te gusta

Origin blog.csdn.net/wujialv/article/details/109611260
Recomendado
Clasificación