Wzorce projektowe to bardzo ważna część “zawodu” analityka i architekta oprogramowania. Dzisiaj kolejny raz studenci pytali o literaturę, więc postanowiłem poszperać na półce. O tym dlaczego powstały wzorce i jak sie je opisuje napisano wiele, nie będę więc powtarzał tego co na prawde łatwo znaleźć. Generalnie wzorce są to skatalogowane standardy i dobre praktyki .

Wzorce projektowe Książki

Większość obiektowych wzorców projektowych dotyczy kwestii (rozwiązywania problemów) technologicznych. Myślę, że większość frameworków (zestawy bibliotek środowiskowych) to implementacje wzorców opisanych w książkach wymienionych poniżej . Warto je więc poznać z tego choćby powodu, by rozumieć jak one działają i dlaczego są takie jakie są.

Nieco później powstały wzorce architektoniczne, takie jak sztandarowy MVC (Model-View-Controller). Te przydają się na etapie analizy i projektowania na wysokim poziomie abstrakcji.

Lektura tych pozycji pokazuje ewolucje pojęcia paradygmatu obiektowego i pojęcia obiektu. Tak zwane “stare”, implementacyjne podejście z początków technik obiektowych pojmowanie definiowało obiekt jako połączenie danych i funkcji. Ta definicja nadal pojawia się u wielu autorów. Obecnie raczej stosujemy definicję mówiącą, że obiekt mają określoną odpowiedzialność, reprezentują określone zachowanie [Shalloway].

Tak więc polecam lekturę poniższych pozycji, duża rezerwę w stosunku do podawanych definicji. Praktycznie wszystkie te książki to wiedza z końca lat 90-tych. Od tamtej pory, zmieniło się wiele detali, jednak ogólna zasada polegająca na hermetyzowaniu wszystkiego co się da i na tym, że obiekt to określona wąska specjalizowana odpowiedzialność, nadal jest na czasie. Historyczna definicja mówiąca, że obiekty to dane i funkcje je przetwarzające, została już nie raz “obalona” za sprawą wzorców takich jak service czy factory, wskazujących że należy z zasady oddzielać odpowiedzialność za utrwalanie danych i odpowiedzialność za ich tworzenie i przetwarzanie.

Tak więc w wolnej chwili zapraszam do lektury, a także do pytań i dyskusji pod tym tekstem.

Literatura

Jarosław Żeliński

Jarosław Żeliński: Od roku 1991 roku, nieprzerwanie, realizuje projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzi samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako wykładowca akademicki wizytujący (nieetatowy), prowadzi wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie.) Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów. Prawa autorskie: Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione bez indywidualnej zgody autora (patrz Polityki Strony). Konsultacje: dostęp do treści Bloga jest bezpłatny, jednak wszelka pomoc oraz wyjaśnienia dotyczące treści artykułów autora bloga, udzielane są wyłącznie w ramach płatnych konsultacji.