Latest web development tutorials

Introducción a los patrones de diseño

Los patrones de diseño (patrón de diseño) representa una mejor práctica, a menudo es adoptado por los desarrolladores de software orientado a objetos experimentados. Los patrones de diseño son soluciones a los problemas comunes de los desarrolladores de software en el proceso de desarrollo de software en la cara. Estas soluciones son muchos desarrolladores de software a través de un largo período de prueba y error, resumió.

Los patrones de diseño se fijan para ser utilizado en varias ocasiones, la mayoría de la gente sabe, después de catalogación, sumarias código de diseño de la experiencia. Utilizar los patrones de diseño para la reutilización de código, que el código sea más fácil de comprender a los demás, para garantizar la fiabilidad del código. Sin lugar a dudas, los patrones de diseño tienen sobre los demás en el sistema son de ganar-ganar, patrones de diseño hace que el código compilado real de ingeniería, patrones de diseño es la piedra angular de la ingeniería de software, como la construcción de una piedra de ladrillo misma. Proyecto de uso racional de los patrones de diseño puede ser la solución perfecta para muchos problemas, cada modo correspondiente al principio de la realidad tienen que corresponde, cada modo describe un problema que se repite constantemente a nuestro alrededor, así como el problema solución central, que es ampliamente utilizado patrones de diseño que puede ser la razón.

¿Cuál es el GOF (Banda de los Cuatro, Gang of Four ortografía)?

En 1994 por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides cuatro co-publicó un libro llamadoPatrones de Diseño - Elementos de reutilizable Objeto- Software Orientado ( traducción al chino: Patrones de diseño - reutilizables de software orientado a objetos elemento)el libro que menciona por primera vez el concepto de patrones de diseño de desarrollo de software.

Cuatro autores colectivamenteGOF (Banda de los Cuatro, ortografía Banda de los Cuatro).Propusieron modelo de diseño se basa principalmente en los principios de diseño orientado a objetos.

  • En lugar de interfaces de programación para la programación.
  • composición objeto de prioridad en lugar de herencia.

El uso de patrones de diseño

Patrones de diseño en el desarrollo de software para dos propósitos principales.

los desarrolladores de plataformas comunes

patrón de diseño proporciona un sistema de terminología estándar, y en particular a una escena específica. Por ejemplo, un único patrón de diseño implica el uso de un único objeto, de modo que todos estamos familiarizados con los desarrolladores de patrón de diseño Singleton puede utilizar un único objeto, y pueden contarse unos a otros de esta manera, el programa utiliza el patrón singleton.

mejor Práctica

Los patrones de diseño han evolucionado durante un largo período de tiempo, proporcionan las mejores soluciones a los problemas comunes que enfrenta el proceso de desarrollo de software. Estos modo de aprendizaje ayuda a desarrolladores sin experiencia a través de una forma rápida y fácil de aprender el diseño del software.

Tipos de patrones de diseño

De acuerdo con el libro de referencia de patrones de diseñoPatrones de Diseño - Elementos de reutilizable Objeto- Software Orientado ( traducción al chino: Patrones de Diseño - Elementos de software orientado a objetos reutilizables)mencionados, un total de 23 patrones de diseño. Estos patrones se pueden dividir en tres categorías: crear esquema (patrones de creación), modelo estructural (Patrones Estructurales), el tipo de modelo (patrones de comportamiento). Por supuesto, vamos a hablar de otro tipo de patrones de diseño: patrones de diseño J2EE.

序号模式 & 描述包括
1创建型模式
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
  • 工厂模式(Factory Pattern)
  • 抽象工厂模式(Abstract Factory Pattern)
  • 单例模式(Singleton Pattern)
  • 建造者模式(Builder Pattern)
  • 原型模式(Prototype Pattern)
2结构型模式
这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。
  • 适配器模式(Adapter Pattern)
  • 桥接模式(Bridge Pattern)
  • 过滤器模式(Filter、Criteria Pattern)
  • 组合模式(Composite Pattern)
  • 装饰器模式(Decorator Pattern)
  • 外观模式(Facade Pattern)
  • 享元模式(Flyweight Pattern)
  • 代理模式(Proxy Pattern)
3行为型模式
这些设计模式特别关注对象之间的通信。
  • 责任链模式(Chain of Responsibility Pattern)
  • 命令模式(Command Pattern)
  • 解释器模式(Interpreter Pattern)
  • 迭代器模式(Iterator Pattern)
  • 中介者模式(Mediator Pattern)
  • 备忘录模式(Memento Pattern)
  • 观察者模式(Observer Pattern)
  • 状态模式(State Pattern)
  • 空对象模式(Null Object Pattern)
  • 策略模式(Strategy Pattern)
  • 模板模式(Template Pattern)
  • 访问者模式(Visitor Pattern)
4J2EE 模式
这些设计模式特别关注表示层。这些模式是由 Sun Java Center 鉴定的。
  • MVC 模式(MVC Pattern)
  • 业务代表模式(Business Delegate Pattern)
  • 组合实体模式(Composite Entity Pattern)
  • 数据访问对象模式(Data Access Object Pattern)
  • 前端控制器模式(Front Controller Pattern)
  • 拦截过滤器模式(Intercepting Filter Pattern)
  • 服务定位器模式(Service Locator Pattern)
  • 传输对象模式(Transfer Object Pattern)

Aquí por una imagen entera para describir la relación entre los patrones de diseño:

设计模式之间的关系

Seis principios de patrones de diseño

1. Principio Abierto Cerrado (Abrir Cerrar Principio)

Abierto Cerrado Principio significa: abierto a la extensión, pero cerrado para su modificación. Cuando el programa necesita expandirse, no modificar el código original para lograr el efecto de un intercambio directo. En resumen, con el fin de hacer que la escalabilidad del programa, facilidad de mantenimiento y las actualizaciones. ¿Quieres conseguir este efecto, tenemos que utilizar interfaces y clases abstractas, diseño concreto más adelante vamos a hablar de este punto.

2, principio de sustitución de Richter (principio de sustitución de liskov)

principio de sustitución de Richter es uno de los principios básicos del diseño orientado a objetos. principio de sustitución de Richter que donde puede aparecer cualquier clase base, subclases podrán aparecer. LSP se hereda piedra angular multiplexado sólo cuando la clase derivada puede sustituir a la clase base, y la unidad de software funcional no se ve afectada, la clase base realmente puede ser reutilizado, y la clase derivada puede ser la base de la base de clase añade nueva comportamiento. principio de sustitución de Richter es el principio de complementariedad de apertura y cierre. El paso clave es la realización del principio de apertura y cierre de la abstracción, la herencia y la clase base y subclase de la realización concreta abstracta, por lo que es principio de sustitución de Richter pasos concretos abstractos para implementar la especificación.

3. Principio de Inversión de dependencia (dependencia Inversión Principio)

Este principio es la base del principio de apertura y cierre, el contenido específico: Para interfaces de programación, en función del extracto no depende de la específica.

4, Interfaz Segregación Principio (Interfaz Segregación Principio)

Significado de este principio es: el uso de la interfaz aislada múltiple es mejor que el uso de una única interfaz. También tiene otro significado: para reducir el grado de acoplamiento entre clases. Por lo tanto, el hecho de que los patrones de diseño a partir de la arquitectura de software a gran escala, fácil de actualizar y mantener el diseño del software, que hace hincapié en la reducción de la dependencia, lo que reduce el acoplamiento.

5, Demeter, también conocidos como los Principios menos conocidos (Demeter Principio)

Mínimo sabe medios principales: la entidad debe interactuar lo menos posible entre otras entidades, por lo que el sistema de módulos de funciones relativamente independientes.

6, principios síntesis de multiplexación (Composite reutilización Principio)

multiplexación Síntesis se refiere al principio: tanto como sea posible el uso de manera sintética / polimérico, en lugar de utilizar la herencia.