Wzorce pro­jek­to­we to bar­dzo waż­na część zawo­du” ana­li­ty­ka i archi­tek­ta opro­gra­mo­wa­nia. Dzisiaj kolej­ny raz stu­den­ci pyta­li o lite­ra­tu­rę, więc posta­no­wi­łem poszpe­rać na pół­ce. O tym dla­cze­go powsta­ły wzor­ce i jak sie je opi­su­je napi­sa­no wie­le, nie będę więc powta­rzał tego co na praw­de łatwo zna­leźć. Generalnie wzor­ce są to ska­ta­lo­go­wa­ne stan­dar­dy i dobre prak­ty­ki .

Wzorce projektowe Książki

Większość obiek­to­wych wzor­ców pro­jek­to­wych doty­czy kwe­stii (roz­wią­zy­wa­nia pro­ble­mów) tech­no­lo­gicz­nych. Myślę, że więk­szość fra­me­wor­ków (zesta­wy biblio­tek śro­do­wi­sko­wych) to imple­men­ta­cje wzor­ców opi­sa­nych w książ­kach wymie­nio­nych poni­żej . Warto je więc poznać z tego choć­by powo­du, by rozu­mieć jak one dzia­ła­ją i dla­cze­go są takie jakie są. 

Nieco póź­niej powsta­ły wzor­ce archi­tek­to­nicz­ne, takie jak sztan­da­ro­wy MVC (Model-View-Controller). Te przy­da­ją się na eta­pie ana­li­zy i pro­jek­to­wa­nia na wyso­kim pozio­mie abstrakcji. 

Lektura tych pozy­cji poka­zu­je ewo­lu­cje poję­cia para­dyg­ma­tu obiek­to­we­go i poję­cia obiek­tu. Tak zwa­ne sta­re”, imple­men­ta­cyj­ne podej­ście z począt­ków tech­nik obiek­to­wych poj­mo­wa­nie defi­nio­wa­ło obiekt jako połą­cze­nie danych i funk­cji. Ta defi­ni­cja nadal poja­wia się u wie­lu auto­rów. Obecnie raczej sto­su­je­my defi­ni­cję mówią­cą, że obiekt mają okre­ślo­ną odpo­wie­dzial­ność, repre­zen­tu­ją okre­ślo­ne zacho­wa­nie [Shalloway].

Tak więc pole­cam lek­tu­rę poniż­szych pozy­cji, duża rezer­wę w sto­sun­ku do poda­wa­nych defi­ni­cji. Praktycznie wszyst­kie te książ­ki to wie­dza z koń­ca lat 90-tych. Od tam­tej pory, zmie­ni­ło się wie­le deta­li, jed­nak ogól­na zasa­da pole­ga­ją­ca na her­me­ty­zo­wa­niu wszyst­kie­go co się da i na tym, że obiekt to okre­ślo­na wąska spe­cja­li­zo­wa­na odpo­wie­dzial­ność, nadal jest na cza­sie. Historyczna defi­ni­cja mówią­ca, że obiek­ty to dane i funk­cje je prze­twa­rza­ją­ce, zosta­ła już nie raz oba­lo­na” za spra­wą wzor­ców takich jak servi­ce czy fac­to­ry, wska­zu­ją­cych że nale­ży z zasa­dy oddzie­lać odpo­wie­dzial­ność za utrwa­la­nie danych i odpo­wie­dzial­ność za ich two­rze­nie i przetwarzanie. 

Tak więc w wol­nej chwi­li zapra­szam do lek­tu­ry, a tak­że do pytań i dys­ku­sji pod tym tekstem.

Literatura

Gamma, E. (ed.) (1995) Design pat­terns: ele­ments of reu­sa­ble object-orien­ted softwa­re. Reading, Mass: Addison-Wesley (Addison-Wesley pro­fes­sio­nal com­pu­ting series).
Zelinski, J. (2020) Synthesis of MOF, MDA, PIM, MVC, and BCE Notations and Patterns’, in Applications and Approaches to Object-Oriented Software Design: Emerging Research and Opportunities. IGI Global, pp. 78 – 89. Available at: https://​www​.igi​-glo​bal​.com/​b​o​o​k​/​a​p​p​l​i​c​a​t​i​o​n​s​-​a​p​p​r​o​a​c​h​e​s​-​o​b​j​e​c​t​-​o​r​i​e​n​t​e​d​-​s​o​f​t​w​a​r​e​/​2​3​5​699 (Accessed: 18 December 2019).
Jenney, J. et al. (2010) Modern methods of sys­tems engi­ne­ering: with an intro­duc­tion to pat­tern and model based methods. Erscheinungsort nicht ermit­tel­bar: Joe Jenney.
Fowler, M. (1997) Analysis pat­terns: reu­sa­ble object models. Menlo Park, Calif: Addison Wesley (The Addison-Wesley series in object-orien­ted softwa­re engineering).

Jarosław Żeliński

Jarosław Żeliński: autor, badacz i praktyk analizy systemowej organizacji: 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 nieetatowy wykładowca akademicki, 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).

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.