Welche Designmuster werden im Spring-Framework verwendet?
Was design patterns werden in das Spring-framework?
Kommentar zu dem Problem
Es enthält mehr als 10 mustern einschließlich ..MVC, Front controller, View Helper, Singleton, Prototype, Fabrik etc . javabench.in/2012/02/design-patterns-being-used-in-spring.html
Design - Muster, MVC-Muster,Proxy-Muster,Factory-Pattern, Singleton Muster,Template Methode-Muster -, FrontController-Pattern,View-Helper-Pattern,Prototype PatternDI/IOC-Muster. Referenz-javainuse.com/spring/spring-design-patterns
InformationsquelleAutor der Frage Tony | 2009-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt viele verschiedene design-Muster verwendet, aber es gibt ein paar offensichtliche:
Proxy - gebraucht stark in AOP, und remoting.
Singleton - beans definiert, die im Frühjahr config-Dateien sind singletons standardmäßig.
Template-Methode - intensiv genutzt, um mit viel boilerplate code wiederholt (wie das schließen von verbindungen sauber, etc..). Zum Beispiel JdbcTemplate, JmsTemplate, JpaTemplate.
Update folgenden Kommentar: Für MVC, möchten Sie vielleicht Lesen Sie die MVC-Referenz
Einige offensichtliche Muster in der Verwendung in MVC:
Model-View-Controller 🙂 . Der Vorteil mit Spring MVC ist, dass Ihr Controller sind POJOs im Gegensatz zu servlets. Dies erleichtert das testen von Controllern. Eine Sache zu beachten ist, dass der controller nur zur Rückgabe verpflichtet, einen logischen Namen einer Ansicht, und die Ansicht auswählen, wird Links auf eine separate ViewResolver. Dies macht es einfacher zu verwenden-Controller für verschiedene view-Technologien.
Front Controller. Der Frühling bietet DispatcherServlet, um sicherzustellen, eine eingehende Anfrage wird ausgelöst, um Ihre Controller.
View Helfer - Der Frühling hat eine Reihe von benutzerdefinierten JSP-tags und velocity-Makros, Unterstützung bei der Trennung von code-Darstellung in Ansichten.
InformationsquelleAutor der Antwort toolkit
Und natürlich dependency injection, oder der IoC (inversion of control), die im Mittelpunkt des ganzen BeanFactory/Datei ApplicationContext Zeug.
InformationsquelleAutor der Antwort Chochos
DI-Ding ist tatsächlich eine Art von Strategie-Muster. Wann immer Sie wollen, um einige Logik/Umsetzung austauschbaren man typischerweise eine Schnittstelle und eine entsprechende setter-Methode, die auf dem host-Klasse zu verkabeln Sie Ihre benutzerdefinierte Implementierung der Schnittstelle.
InformationsquelleAutor der Antwort Oliver Gierke
Frühling ist eine Sammlung von best-practise-API-mustern, können Sie schreiben eine Einkaufsliste, von der Sie so lang wie Ihr arm. Die Möglichkeit, dass der API ausgelegt ist, fordert Sie (aber nicht zwingen), zu Folgen, diese Muster, und die Hälfte der Zeit, die Sie Ihnen zu Folgen, ohne zu wissen, dass Sie so tun.
InformationsquelleAutor der Antwort skaffman
Service-Locator-Muster - ServiceLocatorFactoryBean hält Informationen für alle Bohnen in den Kontext. Wenn der client-code fragt nach einem service (Bohne) mit dem Namen, es ist einfach sucht, dass bean in den Kontext und gibt es zurück. Der Client-code muss nicht schreiben, die Feder den zugehörigen code zu finden, eine Bohne.
InformationsquelleAutor der Antwort Suman Mitra
Factory-Methode-Sprüche: BeanFactory für die Erstellung der Instanz eines Objektes
Singleton : Instanz-Typ singleton für einen Kontext
Prototyp : Instanz-Typ-Prototyp.
Builder pattern: Sie können auch definieren Sie eine Methode in einer Klasse, die verantwortlich für die Erstellung komplexer Instanz.
InformationsquelleAutor der Antwort Praveen Sharma
Observer-Observable: es wird verwendet in der Datei ApplicationContext den event Mechanismus
InformationsquelleAutor der Antwort ksevindik
Fabrik-Muster wird auch für die be-Bohnen über BeanFactory und Anwendungskontext.
InformationsquelleAutor der Antwort Gurpreet
Spring container erzeugt die bean-Objekte je nach bean-scope (singleton, prototype etc..). Also das sieht aus wie die Umsetzung Abstrakte-Fabrik-Muster. Im Frühjahr ist die interne Umsetzung, ich bin sicher, dass jeder Bereich sollte an bestimmten factory-Art-Klasse.
InformationsquelleAutor der Antwort jsr