Latest web development tutorials

Einführung Patterns zum Design

Entwurfsmuster (Design-Muster) stellt eine bewährte Methode ist es oft von erfahrenen objektorientierte Software-Entwickler übernommen wird. Entwurfsmuster sind Lösungen für gemeinsame Probleme der Software-Entwickler in der Software-Entwicklungsprozess im Gesicht. Diese Lösungen sind viele Softwareentwickler durch eine ziemlich lange Periode von Versuch und Irrtum aufsummiert.

Entwurfsmuster sind so eingestellt wiederholt verwendet werden, die meisten Menschen wissen, nach der Katalogisierung, Code-Design-Erfahrung Zusammenfassung. Verwenden Sie Entwurfsmuster Code wiederverwenden, stellen Sie den Code leichter, andere zu verstehen, was die Zuverlässigkeit des Codes zu gewährleisten. Zweifellos auf andere haben Muster Design im System sind Win-Win, Design Patterns Code realen Engineering zusammengestellt macht, Design Patterns ist der Grundstein des Software-Engineering, wie den Bau einer gemauerten gleich. Projekt rationelle Nutzung von Entwurfsmustern kann die perfekte Lösung für viele Probleme sein, jeder Modus auf dem Prinzip der Realität entsprechen, haben entsprechende, beschreibt jeder Modus ein immer wiederkehrendes Problem um uns herum, sowie das Problem Kernlösung, die Entwurfsmuster weit verbreitet ist, dass der Grund sein kann.

Was ist der GOF (Gang of Four, Rechtschreibung Gang of Four)?

1994 von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides vier Co-veröffentlichte ein Buch mit dem TitelDesign Patterns - Elemente wiederverwendbarer Object- Oriented Software ( Chinesisch-Übersetzung: Design Patterns - wiederverwendbarer objektorientierter Software Element)das Buch , das zuerst das Konzept der Software - Entwicklung Design Patterns erwähnt.

Vier Autoren kollektivGOF (Gang of Four, Rechtschreibung Gang of Four).Sie schlugen vor, Design-Modell in erster Linie auf die objektorientierte Design-Prinzipien basiert.

  • Anstatt Schnittstellen für die Programmierung der Programmierung.
  • Priorität Objekt-Komposition statt Vererbung.

Die Verwendung von Design Patterns

Design Patterns in der Softwareentwicklung für zwei Hauptaufgaben.

Gemeinsame Plattform-Entwickler

Design-Muster bietet eine Standard-Terminologiesystem und insbesondere auf eine bestimmte Szene. Zum Beispiel bedeutet ein einziges Design-Muster die Verwendung eines einzelnen Objekts, so dass alle vertraut mit Singleton-Entwurfsmuster-Entwickler sind ein einzelnes Objekt verwenden können, und können einander auf diese Weise sagen, verwendet das Programm die Singletonmuster.

best Practice

Entwurfsmuster haben über einen langen Zeitraum entwickelt, sie bieten die besten Lösungen für gemeinsame Probleme durch den Software-Entwicklungsprozess konfrontiert. Diese Lernmodus hilft unerfahrenen Entwickler durch eine schnelle und einfache Möglichkeit, die Software-Design zu lernen.

Arten von Design Patterns

Nach dem Nachschlagewerk von Design PatternsDesign Patterns - Elemente wiederverwendbarer Object- Oriented Software ( Chinesisch-Übersetzung: Design Patterns - Objektorientierte Software-Elemente wiederverwendbar)erwähnt, insgesamt 23 Design - Muster. Diese Muster können in drei Kategorien eingeteilt werden: create schema (Erzeugungsmuster), Strukturmodell (Strukturmuster), Modelltyp (Verhaltensmuster). J2EE Design Patterns: Natürlich werden wir eine andere Art von Design Patterns diskutieren.

序号模式 & 描述包括
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)

Hier mit einem Gesamtbild, das die Beziehung zwischen Design-Muster zu beschreiben:

设计模式之间的关系

Sechs Prinzipien von Design Patterns

1. Öffnen Geschlossen - Prinzip (Open Close - Prinzip)

Offen Geschlossen - Prinzip bedeutet: offen für Erweiterung, aber für die Änderung geschlossen. Wenn das Programm zu erweitern muss, nicht den ursprünglichen Code zu modifizieren, um die Wirkung eines Hot-Swap zu erreichen. Kurz gesagt, um das Programm der Skalierbarkeit zu machen, einfache Wartung und Upgrades. Möchten Sie diesen Effekt zu erreichen, müssen wir Schnittstellen und abstrakte Klassen zu verwenden, konkrete Ausgestaltung später werden wir diesen Punkt erwähnen.

2, Richter Substitutionsprinzip (Liskov Substitutionsprinzip)

Richter Substitutionsprinzip ist eines der Grundprinzipien des objektorientierten Design. Richter Substitutionsprinzip, dass bei jeder Basisklasse auftreten können, Subklassen der Lage zu erscheinen. LSP ist Stein nur Multiplex geerbt, wenn die abgeleitete Klasse die Basisklasse ersetzen kann, und funktionelle Software-Einheit nicht beeinträchtigt wird, kann die Basisklasse wirklich wiederverwendet werden, und die abgeleitete Klasse die Basis der Basisklasse neu sein kann, ergänzt Verhalten. Richter Substitutionsprinzip ist das Prinzip der Komplementarität der Öffnung und Schließung. Der entscheidende Schritt ist die Verwirklichung des Prinzips des Öffnens und Schließens Abstraktion, Vererbung und Basisklasse und Unterklasse der abstrakten konkrete Realisierung, so Richter Substitutionsprinzip ist abstrakt konkrete Schritte, um die Spezifikation zu implementieren.

3. Abhängigkeit Inversion Prinzip (Abhängigkeit Inversion Prinzip)

Dieses Prinzip ist die Grundlage des Prinzips der Öffnung und Schließung, den spezifischen Inhalt: Für die Programmierschnittstellen, auf die abstrakte je hängt nicht von bestimmten.

4, Schnittstellen - Segregationsprinzip (Interface Segregation Principle)

Bedeutung dieses Prinzips ist: die Verwendung mehrerer isolierter Schnittstelle ist besser als eine einzige Schnittstelle. Es hat auch eine andere Bedeutung: Der Kopplungsgrad zwischen den Klassen zu verringern. Somit ist die Tatsache, dass Entwurfsmuster ausgehend von großen Software-Architektur, einfach, die Software-Design zu aktualisieren und zu pflegen, die Verringerung der Abhängigkeit betont, die Kupplung zu reduzieren.

5, Demeter, die auch als die am wenigsten bekannten Prinzipien (Demeter - Prinzip) bekannt

Mindest wissen Prinzip bedeutet: ein Unternehmen sollte so wenig wie möglich zwischen anderen Einheiten interagieren, wobei das System relativ unabhängige Funktionsmodule zu machen.

6, Synthese Multiplexing Prinzipien (Composite Reuse - Prinzip)

Synthese-Multiplexing bezieht sich auf das Prinzip: so viel wie möglich die Verwendung von synthetischen / polymere Weise statt Vererbung.