Jakie wzorce są używane w ramach Spring Framework?Jakie wzorce są używane w ramach Spring Framework?
Odpowiedz
Istnieje wiele różnych wzorców projektowych używanych, ale istnieje kilka oczywistych:
Singleton - fasola zdefiniowana w wiosennych plikach konfiguracyjnych domyślnie jest singletonami.
Metoda szablonowa - stosowana szeroko w celu radzenia sobie z powtarzającym się kodem standardowym (np. Zamykanie połączeń w sposób czysty itp.). Na przykład: JdbcTemplate, JmsTemplate, JpaTemplate.
Aktualizacja następujące uwagi: Na MVC, może chcesz przeczytać MVC Reference
pewne oczywiste wzorce użytkowania w MVC:
Model View Controller :-). Zaletą Spring MVC jest to, że twoje kontrolery są POJO w przeciwieństwie do serwletów. To ułatwia testowanie kontrolerów. Należy zwrócić uwagę, że kontroler musi tylko zwrócić logiczną nazwę widoku, a wybór widoku pozostawić osobnemu ViewResolver. Ułatwia to ponowne wykorzystanie kontrolerów dla różnych technologii przeglądania.
Front Controller. Spring zapewnia DispatcherServlet, aby upewnić się, że przychodzące żądanie zostanie wysłane do kontrolerów.
View Helper - Wiosna ma wiele niestandardowych znaczników JSP i makr prędkości, aby pomóc w oddzieleniu kodu od prezentacji w widokach.
Dzięki, Jakie są wzorce projektowe używane w module Spring MVC? – Tony
Nie sądzę, że Spring implementuje singleton dla fasoli. Zauważ, że komponent o pojedynczej skali ma jedną instancję ** dla każdego kontekstu aplikacji **. Tak więc, jeśli twoja aplikacja ma dwa konteksty Spring, ładują one ten sam singleton bean 'Foo' i pobierasz instancję' Foo' na kontekst, otrzymasz dwa różne odniesienia do obiektów. Zamiast tego zastosowany tutaj wzór to [flyweight] (http://en.wikipedia.org/wiki/Flyweight_pattern) –
@Luiggi Mendoza masz na myśli to, że wiosna nie ma obiektów singleton? proszę wyjaśnij mi pewne wyjaśnienie. –
I oczywiście wtrysk zależności lub IoC (inwersja kontroli), która jest kluczowa dla całej rzeczy BeanFactory/ApplicationContext.
Wiosna to zbiór wzorców API najlepszych praktyk, możesz zapisać listę zakupów tak długo, jak ramię. Sposób, w jaki interfejs API jest zaprojektowany, zachęca Cię (ale nie zmusza) do podążania za tymi wzorami, a połowę czasu, kiedy podążasz za nimi, nie wiedząc, że to robisz.
Rzeczy typu DI to rodzaj wzorca strategii. Ilekroć chcesz być wymienianą logiką/implementacją, zazwyczaj znajdujesz interfejs i odpowiednią metodę ustawiającą na klasie hosta, aby łączyć niestandardową implementację tego interfejsu.
Fabryczny wzór jest również używany do ładowania fasoli przez kontekst fasoli i aplikacji.
Metoda Factory patter: BeanFactory do tworzenia instancji obiektu Singleton: typ instancji może być pojedyncza dla kontekstu Prototyp: typ instancji może być prototypem. Wzorzec konstruktora: można również zdefiniować metodę w klasie, która będzie odpowiedzialna za tworzenie złożonej instancji.
obserwatora Obserwowalne: jest stosowany mechanizm zdarzeń ApplicationContext w
Wiosna pojemnik wytwarza przedmiotów fasoli w zależności od zakresu fasoli (Singleton prototyp itp ..). Wygląda to na implementację Abstract Factory pattern. W wewnętrznej implementacji Wiosennej jestem pewien, że każdy zakres powinien być powiązany z konkretną klasą fabryczną.
Wzorzec lokalizatora usługi - ServiceLocatorFactoryBean przechowuje informacje o wszystkich ziarnach w kontekście. Gdy kod klienta prosi o usługę (komponent bean) za pomocą nazwy, po prostu lokalizuje tę fasolę w kontekście i zwraca ją. Kod klienta nie musi zapisywać kodu źródłowego, aby zlokalizować komponent bean.
- 1. Czy są jakieś wzorce projektowe używane w .NET Framework?
- 2. jakie są wzorce projektowe stosowane w systemie Android?
- 3. W jaki sposób używane są wzorce wektorowe w regułach składniowych?
- 4. Jakie hashe (#) są używane w źródle biblioteki?
- 5. Jakie ramy testowania są używane w Railsach?
- 6. Jakie są typowe wzorce projektowe w Cocoa Touch?
- 7. Uzyskiwanie "nieznanego zapytania nie znaleziono" w ramach Spring Framework
- 8. Jakie soczewki są używane/przydatne dla?
- 9. Jakie są domyślne repozytoria używane przez SBT?
- 10. Realistycznie, jakie funkcje pthreads są zazwyczaj używane?
- 11. Które wzorce są niedostatecznie wykorzystane?
- 12. Jakie są najczęściej używane wyjątki środowiska wykonawczego w java?
- 13. Jakie są parametry używane do obliczania złożoności w narzędziu SourceMonitor?
- 14. jakie są najczęściej używane interfejsy w języku C#?
- 15. Jakie są najlepsze praktyki w ramach programu MEF?
- 16. Jakie techniki są używane do debugowania złożonych wiązań guice?
- 17. Jakie porty są używane dla agenta VSTS/TFS Build/Release?
- 18. Jakie struktury używane w aplikacjach java Desktop
- 19. Jakie są najlepsze narzędzia lub wtyczki do generowania kodu Java, które będą używane w środowisku Eclipse?
- 20. Czy są jakieś "wzorce projektowe" w C?
- 21. Parametry RegisterClientScriptBlock są używane w rzeczywistych scenariuszach?
- 22. Jakie są wady aplikacji Spring Boot for Java?
- 23. Dlaczego używane są anonimowe funkcje używane w strukturze kodu JavaScript?
- 24. Jakie są prawidłowe typy powrotne metody kontrolera Spring MVC?
- 25. Czy mamy wzorce projektowe w C++, jakie mamy w java?
- 26. Jakie są dobre, lekkie wzorce projektowe, aby uniknąć zerowania w Javie?
- 27. Jakie są różnice i wzorce wykorzystania dla dyspozytorów w Akka 2?
- 28. Jakie są równoważniki Java Linq i Entity Framework
- 29. Do czego są używane silnie połączone komponenty?
- 30. określają, które pakiety są używane.
Zawiera więcej niż 10 wzorów, w tym ..MVC, kontroler czołowy, Zobacz pomocnika, Singleton, prototyp, fabryka itp. http://www.javabench.in/2012/02/design-patterns-being-used-in-spring.html –
Wzory projektowe - Wzorzec MVC, Wzorzec proxy, Wzorzec fabryczny, Wzór jednolity, Wzór metody szablonu, FrontController Pattern, View Helper Pattern, Prototype PatternDI/IOC Pattern. Odniesienie-http: //javainuse.com/spring/spring-design-patterns – Gordan