Latest web development tutorials

Introduction à la conception Patterns

Les modèles de conception (Design Pattern) représente une meilleure pratique, il est souvent adopté par les développeurs de logiciels orientés objets expérimentés. Les modèles de conception sont des solutions à des problèmes communs des développeurs de logiciels dans le processus de développement de logiciels dans le visage. Ces solutions sont nombreux développeurs de logiciels à travers une assez longue période d'essais et d'erreurs résumé.

Les modèles de conception sont configurés pour être utilisé à plusieurs reprises, la plupart des gens le savent, après le catalogage, le résumé de l'expérience de conception de code. Utiliser des modèles de conception de réutiliser le code, rendre le code plus facile à comprendre les autres, pour assurer la fiabilité du code. Sans aucun doute, les modèles de conception ont sur les autres dans le système sont gagnant-gagnant, les modèles de conception rend le code compilé réel ingénierie, design patterns est la pierre angulaire du génie logiciel, comme la construction d'une pierre brique même. Projet utilisation rationnelle des modèles de conception peut être la solution idéale pour de nombreux problèmes, chaque mode correspondant au principe de réalité ont correspondant, chaque mode décrit un problème récurrent qui nous entoure, ainsi que le problème solution de base, qui est largement utilisé des modèles de conception qui peut être la raison.

Quel est le GOF (Gang of Four, l'orthographe Gang of Four)?

1994 par Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides quatre co-publié un livre intituléDesign Patterns - Éléments de Reusable Object- Oriented Software ( traduction chinoise: Design Patterns - Logiciel Orienté Objet réutilisable élément)le livre qui mentionne d' abord le concept des modèles de conception de développement de logiciels.

Quatre auteurs collectivementGOF (Gang of Four, l' orthographe Gang of Four).Ils ont proposé le modèle de conception est principalement basée sur les principes de conception orientée objet.

  • Plutôt que de programmer des interfaces pour la programmation.
  • Composition de l'objet de priorité plutôt que de l'héritage.

L'utilisation des modèles de conception

Design Patterns dans le développement de logiciels pour deux objectifs principaux.

Les développeurs de la plate-forme commune

Design Pattern fournit un système de terminologie standard, et en particulier à une scène spécifique. Par exemple, un modèle de conception unique implique l'utilisation d'un objet unique, de sorte que tous sont familiers avec les développeurs de modèles de conception singleton peut utiliser un seul objet, et peut se dire de cette façon, le programme utilise le pattern singleton.

Best Practice

Les modèles de conception ont évolué sur une longue période de temps, ils fournissent les meilleures solutions aux problèmes communs rencontrés par le processus de développement de logiciels. Ce mode d'apprentissage aide développeur inexpérimenté à travers un moyen rapide et facile à apprendre la conception du logiciel.

Types de modèles de conception

Selon le livre de modèles de conceptionDesign Patterns de référence - Eléments de Reusable Object-Oriented Software (traductionenchinois: Design Patterns - éléments logiciels orientés objet réutilisables)mentionnés, un total de 23 modèles de conception. Ces modèles peuvent être divisés en trois catégories: create schema (Patterns créationnel), modèle structurel (Patterns structurels), le type de modèles (modèles de comportement). Bien sûr, nous allons discuter d'un autre type de modèles de conception: design patterns 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)

Voici une vue d'ensemble pour décrire la relation entre les modèles de conception:

设计模式之间的关系

Six principes de design patterns

1. Ouvert Fermé Principe (Open Close Principe)

Ouvert Fermé Principe signifie: ouvert pour l' extension, mais fermé pour modification. Lorsque le programme a besoin de se développer, de ne pas modifier le code original pour obtenir l'effet d'un hot-swappable. En bref, afin de rendre l'évolutivité du programme, la facilité d'entretien et de mises à niveau. Vous voulez obtenir cet effet, nous avons besoin d'utiliser des interfaces et des classes abstraites, conception de béton plus tard, nous allons parler de ce point.

2, principe de substitution Richter (Liskov principe de substitution)

principe de substitution Richter est l'un des principes de base de la conception orientée objet. principe de substitution Richter que lorsque toute la classe de base peut apparaître, sous-classes seront en mesure de comparaître. LSP est hérité pierre angulaire multiplexés uniquement lorsque la classe dérivée peut remplacer la classe de base, et l'unité de logiciel fonctionnel est pas affectée, la classe de base peut vraiment être réutilisé, et la classe dérivée peut être la base de la classe de base ajoute un nouveau comportement. principe de substitution Richter est le principe de la complémentarité de l'ouverture et la fermeture. L'étape clé est la réalisation du principe d'ouverture et de fermeture abstraction, l'héritage et la classe de base et sous-classe de la réalisation concrète abstraite, de sorte que le principe de substitution Richter est mesures concrètes abstraites pour mettre en œuvre la spécification.

3. Principe d' inversion de dépendance (dépendance Inversion Principe)

Ce principe constitue la base du principe d'ouverture et de fermeture, le contenu spécifique: Pour les interfaces de programmation, en fonction du résumé ne dépend pas spécifique.

4, Interface Ségrégation Principe (Interface Ségrégation Principe)

Signification de ce principe est: l'utilisation de l'interface isolé multiple est mieux que d'utiliser une seule interface. Il a également une autre signification: réduire le degré de couplage entre les classes. Ainsi, le fait que les modèles de conception à partir de l'architecture logicielle à grande échelle, facile à mettre à niveau et de maintenir la conception du logiciel, qui met l'accent sur la réduction de la dépendance, en réduisant le couplage.

5, Demeter, également connu comme les principes les moins connus (Demeter Principe)

savoir minimum principe signifie: une entité doit interagir aussi peu que possible entre autres entités, ce qui rend le système des modules fonctionnels relativement indépendants.

6, les principes de synthèse de multiplexage (Composite Réutilisation Principe)

Synthèse de multiplexage se réfère au principe: autant que possible l'utilisation de manière synthétique / polymère, au lieu d'utiliser l'héritage.