Si desea escribir un código excelente, los patrones de diseño son el alma del código
Comprensión de los patrones de diseño:
设计模式是针对软件设计中常见问题提出的典型解决方案;
设计模式可以用于解决代码中反复出现的设计问题;
设计模式不是一段特定的代码,而是解决特定问题的一般性概念;
设计模式和方法或库的使用方式不同,你很难在自己的程序中直接套用设计模式;
可以根据模式实现符合自己程序实际所需的解决方案;类似于日志门面和日志实现的关系;
算法更像是菜谱: 提供达成目标的明确步骤。
而模式更像是蓝图: 你可以看到最终的结果和模式的功能, 但需要自己确定实现步骤。
El contenido del patrón:
La descripción del patrón generalmente incluye las siguientes partes:
Intención: Describir brevemente el problema y la solución;
Motivación: explique más el problema y explique cómo el modelo proporciona soluciones;
Estructura: muestra los componentes de cada parte del modelo y la relación entre ellos;
Por supuesto que hay otras partes;
Historia del patrón:
(Material de referencia, lea
usted mismo ) ¿Quién inventó el patrón de diseño?
Los patrones de diseño no son conceptos oscuros y complicados, sino todo lo contrario.
Los patrones son soluciones típicas a problemas comunes en el diseño orientado a objetos.
Las mismas soluciones se han utilizado repetidamente en varios proyectos, por lo que eventualmente alguien las nombró y describió en detalle. Así es básicamente como se descubrió el patrón.
El concepto de modo fue propuesto por primera vez por Christopher Alexander en su libro " Architectural Mode Language ". Este libro presenta el "lenguaje" del diseño urbano, y la unidad básica de dicho "lenguaje" es el patrón. El modelo puede incluir una descripción de qué tan altas deben ser las ventanas, cuántos pisos debe tener un edificio y cuánta vegetación debe haber en un bloque.
Cuatro autores, Erich Gamma, John Freesides, Ralph Johnson y Richard Hulme, aceptaron el concepto de patrones. En 1994, publicaron el libro " Design Patterns: The Foundation of Reusable Object-Oriented Software ", que aplicó el concepto de patrones de diseño al campo del desarrollo de programas. El libro proporciona 23 patrones para resolver varios problemas en la programación orientada a objetos y pronto se convirtió en un éxito de ventas. Debido a que el título del libro era demasiado largo, la gente se refirió a él como el "Libro de la banda de los cuatro (GoF)", y pronto se simplificó aún más como el "Libro de GoF".
Desde entonces, la gente ha descubierto decenas de patrones orientados a objetos. El "método de patrones" comenzó a hacerse popular en otros campos del desarrollo de programas. Hoy en día, fuera del campo del diseño orientado a objetos, la gente también ha propuesto muchos otros patrones.
Por qué aprender patrones de diseño:
El patrón de diseño es una caja de herramientas para problemas comunes en el proceso de diseño de software, y las herramientas son varias soluciones que se han probado en la práctica.
Los patrones de diseño pueden guiarlo sobre cómo utilizar los principios del diseño orientado a objetos para resolver varios problemas;
El patrón de diseño es una jerga entre programadores, un lenguaje universal que se comunica de manera más eficiente;
Clasificación de patrones de diseño:
Todos los modos se pueden clasificar según su intención o propósito,
Principalmente dividido en
Modo de creación: proporciona un mecanismo para crear objetos, aumentando la flexibilidad y reutilización de los códigos existentes;
Patrón estructural: cómo ensamblar objetos y clases en estructuras más grandes. Al mismo tiempo, la estructura es flexible y eficiente;
Modo de comportamiento: responsable de la comunicación eficiente y la delegación de responsabilidades entre objetos;
Principios seguidos por patrones de diseño:
单一职责原则; 接口隔离原则; 依赖倒转原则; 里氏替换原则; 开闭原则;(ocp) 迪米特法则; 合成复用原则;
El propósito del patrón de diseño:
代码的复用性;(相同功能的代码,不用多次编写) 代码编写规范(可读性,便于他人阅读和理解); 可扩展;(方便拓展新的功能) 可靠性;(当我们增加新的功能,对原来的功能不会影响) 程序呈现高内聚低耦合的特性; 设计模式包含面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计的精要”;