konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Tak, każdy programista ma problemy i szuka rozwiązania w miarę optymalnego.

Stąd też i ja chciałbym się czegoś dowiedzieć gdyż gnębi mnie to od dłuższego czasu i nie potrafię sobie z tym poradzić.

Sprawa ma się tak, buduje sobie coś ala cms, no i jak przerzucać obiekty?

Jeżeli utworze instancję klasy w pliku index.php a oraz mam jakąś akcję którą ładuje w dyspozytorze, który organizuje mi router itp itd masło maślane i tak nie zrozumiecie.

Czy pisać statyczne metody do klas które będą mi zwracały odpowiednie wartości i nadawały odpowiednie parametry dla zmiennych, czy przesyłać instancję klasy jako parametr konstruktora?

Jak mi ktoś wyjedzie z global to wyśmieje ;)

Czekam na Wasze opinie jak Wy to robicie, bo ja mam po prostu banie, gdyby ktoś do końca nie rozumiał o co mi chodzi to może tutaj mu się co nie co pojaśni: http://cojack.os-cms.pl/dispatcher-dyspozytor/241

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Na tyle na ile zrozumiałem to zależy jak leży :-). Czasem lepiej zrobić metodę statyczną (jakiś singleton, registry, abstract factory) a czasem lepiej dać obiekt do konstruktora (strategy, command, factory) etc.

konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Czyli szczerzę powiedziawszy jak będę sobie przerzucał obiekty jako parametry konstruktora to nie będzie to błędne podejście programistyczne? Bo wydaje mi się cały czas że można to w inny sposób zrobić...

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Przemek Czekaj:
Czyli szczerzę powiedziawszy jak będę sobie przerzucał obiekty jako parametry konstruktora to nie będzie to błędne podejście programistyczne? Bo wydaje mi się cały czas że można to w inny sposób zrobić...

Każdą rzecz można zrobić w inny sposób. Rób tak jak uważasz za celowe. I tak za miesiąc stwierdzisz, że można to było zrobić lepiej. Moje motto życiowe: Programista, który jest zadowolony ze swojego programu nie powinien być programistą ;-).
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Zainwestuj czas w poznanie jakiegoś kontenera IoC.
Wtedy odpadną Tobie wszelkie rozważania "gdzie umieścić to?", "jak przekazać tamto", "rejestr czy kontekst?".

konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Nie podoba mi się licencja. Wszystko co się nie zaczyna od GPL lub nie posiada w sobie takiego skrótu to jest brzydkie ;p ale przyjże się temu bardziej. Może ktoś jeszcze ma jakieś pomysły?

konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Czy pisać statyczne metody do klas które będą mi zwracały odpowiednie wartości i nadawały odpowiednie parametry dla zmiennych, czy przesyłać instancję klasy jako parametr konstruktora?

Mowisz o statycznych metodach jako fabrykach ?

Proponowalbym to drugie rozwiazanie, wygodniej sie wtedy mockuje obiekty przy unit testach. Zreszta unit testy w przypadku metod statycznych w testiwanym kodzie to jest droga przez meke.
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Marcin Bachleda:
Proponowalbym to drugie rozwiazanie, wygodniej sie wtedy mockuje obiekty przy unit testach.

Do testowania to już lepiej używać setterów/getterów (lub property jak język na to pozwala).
Zreszta unit testy w przypadku metod statycznych w testiwanym kodzie to jest droga przez meke.

faktAlan Gabriel B. edytował(a) ten post dnia 16.11.09 o godzinie 21:22

konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Alan Gabriel B.:
>
Do testowania to już lepiej używać setterów/getterów (lub property jak język na to pozwala).

W podejsciu set/get-erow i przekazaniu jako parametr konstruktora omijasz problem tworzenia obiektu wewnatrz - a o to najbardziej nam chodzi. Osobiscie w wielu przypadkach korzystam z polaczenia obu metod.

konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

jeżeli mówicie o magicznych metodach __set i __get to od razu protestuję. To w ogóle niszczy zasadę hermetyzacji. Chyba że mówimy o metodach dostępowych tylko do tych zmiennych które chcemy mieć dostępne;)

Ale dzięki za pomysły, może ktoś jeszcze?

konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Przemek Czekaj:
jeżeli mówicie o magicznych metodach __set i __get to od razu protestuję. To w ogóle niszczy zasadę hermetyzacji. Chyba że mówimy o metodach dostępowych tylko do tych zmiennych które chcemy mieć dostępne;)

http://en.wikipedia.org/wiki/Object_composition
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

hmm moze sproboj takiego podejscia ze piszac aplikacje kazda klase pokrywasz testami jednostkowymi - nie tylko sprawdzasz czy dziala ale juz na wczesnym etapie masz mozliwosc przetestowania swojego api w praktyce i wykrycia co powinno a co nie powinno byc obiektem lub jaki wzorzec w danym miejscu powinien byc uzyty
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Marcin Bachleda:
W podejsciu set/get-erow i przekazaniu jako parametr konstruktora omijasz problem tworzenia obiektu wewnatrz - a o to najbardziej

Inversion of Control.
nam chodzi. Osobiscie w wielu przypadkach korzystam z polaczenia obu metod.

Moim zdaniem można pominąć parametry konstruktorów. Sprawdziło się to w javowych beanach (które są standardem) to i w PHP da radę.

konto usunięte

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Dziękuje wszystkim za odpowiedzi, Inversion of Control wydaje się ciekawym rozwiązaniem, nie wiem jeszcze czy to jest to czego szukam. Fabryki to nie jest do końca takie rozwiązanie o które mi chodziło, chociaż nie wiem do końca czy nie użyje jej w akacjach, a chyba na pewno ;)

Szkoda tylko że tak mało jest po Polsku treści na temat tego Inversion of Control, mój ang techniczny nie jest za bardzo rozbudowany. A powiedziałbym że jest biedny. Jakoś dam rade.

A tak btw to mało mamy książek technicznych nt programowania obiektowego godnych polecenia i uwagi ;/

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Ach to taką autoreklamę jeszcze wrzucę. Popełniłem coś takiego:

http://code.google.com/p/yamp52/

M.in. wrzuciłem tam symfonyDependencyInjection... ale. Ale dołożyłem swoje 3gr i możesz używać wstrzykiwania obiektów przez pola albo settery.
Artur Świerc

Artur Świerc Programista PHP/Java

Temat: Obiektowo kolorow, problemy z OOP a bardziej z podejściem...

Alan Gabriel B.:
Zainwestuj czas w poznanie jakiegoś kontenera IoC.
Wtedy odpadną Tobie wszelkie rozważania "gdzie umieścić to?", "jak przekazać tamto", "rejestr czy kontekst?".

Ciekawe rozwiązanie, nie spotkałem się jeszcze o IoC z konfiguracją przy pomocy XML w PHP :) W springu to się sprawdza fantastycznie, ciekawe jak w projektach PHPowych.

Prócz tego, sam stosuje settery/gettery, ale nie mówię tutaj o magicznych (mało czytelne), tylko zwykłych na wzór JavaBean.Artur Świerc edytował(a) ten post dnia 18.11.09 o godzinie 09:09

Następna dyskusja:

Wzorzec Reaktora OOP w php




Wyślij zaproszenie do