Wzorce projektowe dla JavaEE

0

Cześć,
Chcę aplikować na (młodszego) programistę Java, aktualnie studiuję jeszcze informatykę.

Moje pytanie dotyczy wzorców projektowych wykorzystywanych w aplikacjach JavaEE. Czy można wyróżnić jakieś konkretne wzorce, które najczęściej są stosowane w projektach opartych o JavaEE (nie uwzględniając MVC ;) ). Chciałbym zajmować się implementowaniem logiki (JavaEE) i moje pytanie może być trochę dziwne i nie odpowiednie, gdyż implementując logikę można wykorzystać każdy wzorzec projektowy, ale mimo wszystko postanowiłem zadać to pytanie, gdyż niedługo mam rozmowę o pracę, wiem że pytają o niektóre wzorce, a wszystkich z głowy nie opiszę im w trakcie rozmowy / narysuję diagramu uml / napiszę kodu przykładowego.

Jak w ogóle w programowaniu (np JavaEE) ma się wykorzystanie wzorców projektowych ? Stosuje się je czy stosuję się uznaną własną abstrakcję kodu ? ;) Podczas realizowania projektów opartych o JavaEE na uczelni nikt nie zwracał uwagi czy stosowaliśmy wzorce projektowe, jak to ma się w normalnej pracy ?

Proszę o wyrozumiałość i udzielenie mi odpowiedzi, dziękuję!

1

lektura obowiązkowa dla Ciebie to:
http://martinfowler.com/eaaCatalog/
oraz
http://www.corej2eepatterns.com/

0
micc napisał(a):

lektura obowiązkowa dla Ciebie to:
http://martinfowler.com/eaaCatalog/
oraz
http://www.corej2eepatterns.com/

Czyli wzorce od GoF nie obowiązują w przypadku JavaEE ?

0

Obowiązują. Te podane przez @micc to jest tak jakby wyższy poziom, wzorce związane z integracją rozwiązań klasy enterprise. Takie rzeczy jak Singleton, Template Method, Composite, Inversion of Control, Adapter, Strategy czy Facade musisz znać i rozumieć żeby w ogóle cokolwiek móc pisać w danym języku. A jeśli chcesz projektować rozwiązania klasy enterprise to powinieneś znać też wzorce dla takich rozwiązań.

To trochę tak jak z pisaniem. Język programowania to jest alfabet i słowa. Zwykłe wzorce projektowe to jest umiejętność składania sensownych zdań. Wzorce enterprise to jest umiejętność pisania długich wypowiedzi, artykułów czy książek.

Dodatkowo warto też przynajmniej pobieżnie znać wzorce integracyjne:
http://www.eaipatterns.com/toc.html

0
Shalom napisał(a):

Obowiązują. Te podane przez @micc to jest tak jakby wyższy poziom, wzorce związane z integracją rozwiązań klasy enterprise. Takie rzeczy jak Singleton, Template Method, Composite, Inversion of Control, Adapter, Strategy czy Facade musisz znać i rozumieć żeby w ogóle cokolwiek móc pisać w danym języku. A jeśli chcesz projektować rozwiązania klasy enterprise to powinieneś znać też wzorce dla takich rozwiązań.

To trochę tak jak z pisaniem. Język programowania to jest alfabet i słowa. Zwykłe wzorce projektowe to jest umiejętność składania sensownych zdań. Wzorce enterprise to jest umiejętność pisania długich wypowiedzi, artykułów czy książek.

Dodatkowo warto też przynajmniej pobieżnie znać wzorce integracyjne:
http://www.eaipatterns.com/toc.html

Dzięki, dobry post!

@n0name_l, Co mam przez to rozumieć ? Czy jeżeli dostaję zadanie od przełożonego to mam określone, że mam użyć określonego wzorca ? Myślałem, że jest to realizowane za pomocą tickietów, gdzie mam opis procesu biznesowego lub chociażby wprowadzenia jakieś modyfikacji do istniejącego systemu, czyli że dostaję informację opisową z punktu widzenia klienta jak to ma wyglądać, a nie na tyle szczegółową jak opis wzorca, który ma być użyty przy implementacji powierzonego zadania. A więc jak z tym jest ? ;)

0

Nie masz (przynajmniej ja nigdy nie mialem) narzuconego sposobu implementacji, jednak zeby zaimplementowac cos ladnie w 99% potrzebna jest praktyczna znajomosc wzorcow. Czyli wykorzystanie w danym kawalku kodu.

A ten drugi rodzaj znajomosc nie jest raczej uzywany przez juniorow.

0

@Michaś1 na 99% nikt ci nie będzie mówił "jak" masz coś zaimplementować. Wszyscy zakładają że zrobisz to najlepiej jak sie da. A to wymaga użycia wzorców bardzo często.
Jeśli napiszesz coś co się nie nadaje to po prostu dostaniesz revert kodu, objadą cię na code review i wyjaśnią czemu zrobiłeś to źle.
Nie traktuj wzorców jako jakiegoś książkowego przykładu, tylko jako pewien schemat z którego warto skorzystać. Często trzeba go odpowiednio zmodyfikować zanim się go gdzieś użyje. Zresztą jak trochę pokodzisz to będziesz korzystał z wzorców nawet tego nie zauważając ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0