Wzorce projektowe - napisanie kodu na podstawie schematów wzorca

Wzorce projektowe - napisanie kodu na podstawie schematów wzorca
viper_2000
  • Rejestracja:około 20 lat
  • Ostatnio:prawie 11 lat
0

Witam

Mam problem i mam nadzieje że pomożecie mi go rozwiązać, bo prawdę powiedziawszy nie mam pomysłu jak się za to zabrać.
Otuż na studiach podczas zaliczenia wykładowca dał mi następujące zadanie:

  1. Proszę napisać kod do poniższych wzorców (przedstawionych na obrazkach)
  2. Proszę w komentarzach wyjaśnić swój kod
  3. Proszę w języku naturalnym wyjaśnić semantykę poniższych obrazków

Pod rysunkami była jeszcze informacja że kod może być napisany w dowolnym języku programowania, ale ponieważ ja do tej pory pisałem wszystko tylko w delphi więc tutaj proszę was o pomoc.

user image

user image

flowCRANE
Tytułuj sensowniej swoje wątki; Druga sprawa - http://sjp.pl/ot%F3%BF
TA
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 6 lat
0

W linkach poniżej masz przykładowy kod dla wzorców których szukasz. Nie jest on idealny, ale powinien wystarczyć do zrozumienia idei.
http://stackoverflow.com/questions/6873469/delphi-7-trying-to-understand-the-mvc-pattern
http://www.castle-cadenza.demon.co.uk/wrapper.htm

viper_2000
  • Rejestracja:około 20 lat
  • Ostatnio:prawie 11 lat
0

Dzięki za linki do kodu.

Jeśli można, to jeszcze prosiłbym aby ktoś ten kod przekopiował tutaj, jednocześnie uzupełniając go o komentarz (wyjaśniający co robią poszczególne instrukcje w tym konkretnym przypadku)

babubabu
  • Rejestracja:około 13 lat
  • Ostatnio:3 miesiące
  • Lokalizacja:Łódź
  • Postów:648
3

Zaczyna śmierdzieć wyłudzeniem gotowca.

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
2

@viper_2000: nie umiesz skorzystać z podpowedzi innych. A gotowców raczej nie dajemy poza prostymi kodami. Także napisz w dziale http://4programmers.net/Forum/Ogłoszenia_drobne i zaproponuj tam kwotę za zrobienie tego co chcesz osiągnąć za Ciebie, opisując problem. Ewentualnie napisz czego konkretnie nie rozumiesz. Bo jeśłi nie ogarniasz wszystkiego to chyba trzeba się podszkolić z podstaw języka :/


Pozdrawiam.
viper_2000
  • Rejestracja:około 20 lat
  • Ostatnio:prawie 11 lat
0
olesio napisał(a):

napisz w dziale http://4programmers.net/Forum/Ogłoszenia_drobne i zaproponuj tam kwotę za zrobienie tego co chcesz osiągnąć za Ciebie

  • Naprawdę sądzisz że ktoś będzie w stanie pójść za mnie na uczelnie i zaliczyć ten przedmiot za mnie ??
olesio napisał(a):

napisz czego konkretnie nie rozumiesz. Bo jeśłi nie ogarniasz wszystkiego to chyba trzeba się podszkolić z podstaw języka

  • Moje dotychczasowe programowanie w delphi ograniczało się do poukładania elementów graficznych na templatce i wpisaniem (pod te elementy graficzne) kodu który miał się wykonać. Programując w delphi nigdy nie musiałem tworzyć własnych klas czy obiektów I ZA TO NAJBARDZIEJ LUBIE TEN JĘZYK PROGRAMOWANIA. A w tym kodzie widzę że są tworzone jakieś dodatkowe klasy, nie wiem tylko po co i co tak naprawdę mają one robić. A jak by tego było mało, opis który jest zamieszczony (przy kodzie) w podanych linkach NIE jest napisany w języku polskim :/

A ja nie mam niestety na tyle czasu aby samemu dochodzić do tego o co w tym kodzie tak naprawdę chodzi, dlatego bardzo proszę o pomoc.

MA
"A ja nie mam niestety na tyle czasu aby samemu dochodzić do tego o co w tym kodzie tak naprawdę chodzi" - za to my mamy czasu od ch... żeby zająć się programem na twoje zaliczenie. Po studiach w przyszłej pracy też nie będziesz miał "pomysłu jak się za to zabrać." i będziesz prosił o gotowca na forach...panie przyszły "yndżynierze"? Zresztą jaki z ciebie będzie inżynier, co nie potrafi sobie poradzić z językiem angielskim, mając nawet do dyspozycji chociażby translator Googla. Nawet japońskie strony da się przetłumaczyć. Boże, chroń firmy od takich "yndżynierów"!
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
1

NIE jest napisany w języku polskim :/

To moze przepisz sie na polonistyke? Tam bedzie po polsku duzo, a szkoda chyba zycia marnowac.

viper_2000
  • Rejestracja:około 20 lat
  • Ostatnio:prawie 11 lat
0
n0name_l napisał(a):

To moze przepisz sie na polonistyke? Tam bedzie po polsku duzo, a szkoda chyba zycia marnowac.

Po pierwsze - na zmianę decyzji jest już trochę za późno, potrzebuje zaliczyć jeszcze ten ostatni przedmiot i przede mną obrona pracy magisterskiej
Po drugie - polonistyka mnie nie interesuje
A po trzecie - po co informatykowi (zajmującemu się tworzeniem i pozycjonowaniem stron i sklepów internetowych) studia polonistyczne ?

edytowany 1x, ostatnio: viper_2000
n0name_l
Ale juz chyba ustalilismy, ze na informatyka to niezbyt pasujesz.
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
1
viper_2000 napisał(a):

po co informatykowi (zajmującemu się tworzeniem i pozycjonowaniem stron i sklepów internetowych) studia polonistyczne ?

No i w ogóle po co informatykowi programowanie?


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 godzin
  • Lokalizacja:Tuchów
  • Postów:12171
3

Programując w delphi nigdy nie musiałem tworzyć własnych klas czy obiektów I ZA TO NAJBARDZIEJ LUBIE TEN JĘZYK PROGRAMOWANIA.

To albo pisałes same hello-worldy, albo kod był bardzo kiepski, wręcz typowo strukturalny o globalnym zasięgu; Zaś obiekty tworzyć musiałeś żeby w ogóle skorzystać z tych gotowych klas; Chyba że korzystałeś jedynie z metod statycznych;

A w tym kodzie widzę że są tworzone jakieś dodatkowe klasy, nie wiem tylko po co i co tak naprawdę mają one robić.

Bo nie znasz kompletnie programowania obiektowego, choć z niego jak piszesz korzystałeś; Najgorsze jest to, że chcesz tworzyć strony internetowe, ale do obiektowości jakoś Ci się nie spieszy; I do tego bronisz się przed angielskim, jakby to jakieś zło wcielone było;

A jak by tego było mało, opis który jest zamieszczony (przy kodzie) w podanych linkach NIE jest napisany w języku polskim

Jak czegoś nie rozumiesz, to są od tego translatory, np. od Google czy Bing, więc nie musisz ślęczeć nad słownikiem i szukać słowo po słowie;


Jeżeli chcesz cokolwiek umieć to zacznij się uczyć - zapoznaj się z programowaniem obiektowym, bo Delphi nie ma monopolu na klasy, a także szlifuj angielski, bo programista/webmaster bez znajomości angielskiego będzie miał baaardzo ciężko.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 2x, ostatnio: flowCRANE
viper_2000
  • Rejestracja:około 20 lat
  • Ostatnio:prawie 11 lat
0
furious programming napisał(a):

To albo pisałes same hello-worldy,

  • dobry żart
furious programming napisał(a):

albo kod był bardzo kiepski

  • nie wiem czy kiepski, na pewno działający :)
furious programming napisał(a):

Najgorsze jest to, że chcesz tworzyć strony internetowe, ale do obiektowości jakoś Ci się nie spieszy

  • do tej pory jakoś nie musiałem nic programować przy robieniu stron internetowych. Do wszystkich stron jakie do tej pory robiłem wystarczyła mi znajomość:
  • Gotowych systemów CMS
  • HTMLa
  • i CSSa
furious programming napisał(a):

I do tego bronisz się przed angielskim, jakby to jakieś zło wcielone było

  • nie bronie się tylko znam go stosunkowo słabo (mój zasób słów nie jest powalający). Oczywiście zdaję sobie sprawę że w najbliższym czasie będę musiał intensywnie nad tym popracować, już nawet zapisałem się na wakacyjny kurs z j.Angielskiego
furious programming napisał(a):

Jak czegoś nie rozumiesz, to są od tego translatory, np. od Google czy Bing, więc nie musisz ślęczeć nad słownikiem i szukać słowo po słowie

  • a korzystałeś kiedyś z tych translatorów ?? Wiesz jak one tłumaczą ?? Czy ty byłbyś w stanie polegać na tłumaczeniach jakie oferuje Ci np. Google Translator ??
furious programming napisał(a):

Jeżeli chcesz cokolwiek umieć to zacznij się uczyć - zapoznaj się z programowaniem obiektowym, bo Delphi nie ma monopolu na klasy

  • Jeśli kiedykolwiek będę myślał o programowaniu na poważnie (czyt. zarobkowo) to z całą pewnością będę się w tej materii szkolił i uzupełniał swoje braki, na dzień dzisiejszy chcę jedynie zaliczyć ten ostatni przedmiot i zakończyć studia. Zaliczenie mam w najbliższą sobotę i do tego czasu raczej nie zdążę nauczyć się programowania obiektowego.
    Dlatego mam nadzieję że w końcu przestaniecie się ze mnie nabijać i pomożecie mi to zrozumieć żebym mógł to zaliczyć
furious programming napisał(a):

szlifuj angielski, bo programista/webmaster bez znajomości angielskiego będzie miał baaardzo ciężko.

  • wiem, odczułem już to niejednokrotnie :( mam nadzieje że to się poprawi przez wakacje
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 godzin
  • Lokalizacja:Tuchów
  • Postów:12171
0
  • nie wiem czy kiepski, na pewno działający

Nie miałem na myśli poprawności wykonania kodu, tylko jego ilości, widoczności itd., gdzie obie te cechy można znacznie zredukować umiejętnie korzystając z programowania obiektowego;

  • do tej pory jakoś nie musiałem nic programować przy robieniu stron internetowych. Do wszystkich stron jakie do tej pory robiłem wystarczyła mi znajomość: [...]

No to robiłeś strony rodem z lat 90 - HTML; Jak przyjdzie czas na oskryptowanie strony, to przypomnisz sobie ten wątek :]

  • a korzystałeś kiedyś z tych translatorów ?? Wiesz jak one tłumaczą ?? Czy ty byłbyś w stanie polegać na tłumaczeniach jakie oferuje Ci np. Google Translator ??

Oczywiście - korzystam praktycznie codziennie (głównie z Google, dlatego że ma możliwość wyboru synonimów i poprawiania wyniku translacji), dlatego że angielski znam średnio i czasem nie do końca rozumiem jakieś zdanie np. w specyfikacji, dokumentacji czy choćby w postach na zagramanicznych forach; Tłumaczenia wcale nie są takie złe, jednak każdy Polak znający swój język nie powinien mieć problemów ze zrozumieniem "Kali pić, Kali jeść";

Dlatego mam nadzieję że w końcu przestaniecie się ze mnie nabijać i pomożecie mi to zrozumieć żebym mógł to zaliczyć

Nawet w postach z docinkami można znaleźć cenne informacje, które pomogą Ci zrozumieć pewne rzeczy.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 2x, ostatnio: flowCRANE
GU
Kurde ja ostatnio rozkminiałem kody z rosyjskiej i chinskiej strony i translator Google mi życie ratował:D A tu widze ze ludzie narzekają na angielski translator^^
0

o tempora o mores

flowCRANE
Nie znam niemieckiego... :P
babubabu
  • Rejestracja:około 13 lat
  • Ostatnio:3 miesiące
  • Lokalizacja:Łódź
  • Postów:648
3

Jakim urwał cudem gość robi magisterkę nie znając programowania obiektowego???

xfin
  • Rejestracja:ponad 11 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Genewa
  • Postów:597
1

Pachnie mi to trollingiem - konto 39 postów, założone w 2005 roku (prawie 10 lat), a średnia postów około 3-4/rok.
Powiedzcie, że to troll? Magisterka bez znajomości podstaw OOP?

edytowany 1x, ostatnio: xfin
flowCRANE
Spokojnie, nie jest powiedziane, że każdy kto korzysta kilka razy w roku z forum od razu jest trolem; Gość ma ewidentny problem z zadaniem - nie z kulturą osobistą czy znajomością netykiety;
xfin
Ale ja mu nie zarzucam braku kultury czy problemu z netykietą. Ja wiem, że obecnie troll kojarzy się z kimś kto powyższych nie respektuje, ale inteligentny trolling może być uprzejmy :) Tylko naprawdę dziwi mnie fakt istnienia tego problemu - nie wyśmiewam go, ale naprawdę jest to dla mnie szokiem.
n0name_l
Sam problem jest calkowicie normalny. Podejscie do rozwiazania go jest za to zadzwiajace.
flowCRANE
@xfin - w takim razie zapoznaj się z terminem troll, bo albo nie rozumiesz co oznacza, albo nie wiesz w jakim kontekście tego słowa używać;
xfin
@furious programming - przyznaję rację - mój błąd.
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 9 godzin
  • Postów:8423
4

Żeby nie było, że nie pomogłem to:

  1. to się opiera na wzorcu MVC, jest maaasę rzeczy po polsku o tym.
  2. musisz wiedzieć na czym polega diagram UML (do zrozumienia zapisu) + http://pl.wikipedia.org/wiki/Adapter_(wzorzec_projektowy)
    Martin Fowler zaś pisze dużo o wzorcach projektowych (po angielsku, ale pewnie jakieś tłumaczenia możesz znaleźć).

Dlatego mam nadzieję że w końcu przestaniecie się ze mnie nabijać i pomożecie mi to zrozumieć żebym mógł to zaliczyć

Jeśli teraz robisz magisterkę to musiałeś zrobić wcześniej licencjata/inżyniera? A w jakiej szkole zdawałeś? Publicznej czy prywatnej? Jakie miasto? Bo wiesz, że to strasznie źle świadczy o poziomie uczelni wyższych w naszym kraju, że osoba bez podstawowej wiedzy (i która w sumie nawet nie interesuje się informatyka, tylko pragnie zaliczyć, najlepiej z gotowca), ma już wykształcenie wyższe z informatyki.

Dyplom to bzdura ;)

A po trzecie - po co informatykowi (zajmującemu się tworzeniem i pozycjonowaniem stron i sklepów internetowych) studia polonistyczne ?

Masz rację. Do tego wystarczy spokojnie gimnazjum, nawet matury nie trzeba mieć ;)

a korzystałeś kiedyś z tych translatorów ?? Wiesz jak one tłumaczą ?? Czy ty byłbyś w stanie polegać na tłumaczeniach jakie oferuje Ci np. Google Translator ??

w dupie się poprzewracało od dobrobytu... kiedyś nie było Google Translate i się brało papierowy(!!) słownik i sprawdzało co drugie słowo angielskie. No i nie było stałych łączy, internet się właczało np. raz dziennie, albo w ogóle go nie było w domu. Ale też nie było też na tyle rozwiniętej polskiej społeczności, żeby kogoś spytać na forum po polsku (więc z musu pisało się pytanie na anglojęzycznej grupie, albo szukało na anglojęzycznej stronie). Często też głównym źródłem informacji był anglojęzyczny Help, który się właczało w Delphi pod klawiszem F1.

Ale jakoś ludzie żyli i programowali. A teraz jest wielki problem, bo jest Internet, stałe łącza, Google, Wikipedia, tutoriale na Youtube, pełno treści w necie, automatyczne tłumaczenia, a dzisiejsze pokolenie dobrobytu ma wielki problem, bo jest im za łatwo zdobyć informację.


edytowany 1x, ostatnio: LukeJL

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.