polimorfizm

Wzorzec Pośrednik (Proxy) w PHP

Kolejnym wzorcem projektowym, który omówię jest wzorzec Pośrednik (Proxy). Jest to wzorzec z grupy wzorców behawioralnych. Proxy jest wzorcem, który zastępuje obiekt o tym samym interfejsie i przed otrzymaniem dostępu do obiektu wykonuje się jakaś logika. Do czego może być użyty?

Najpopularniejszym użyciem proxy jest ograniczenie dostępu do kosztownych obiektów do momentu kiedy one są potrzebne. Jest to dość dobrze opisane w Internecie więc pominę to użycie.
Innym przykładem użycia proxy jest zabezpieczenie obiektu przed nieautoryzowanym dostępem.
Kolejna sytuacja kiedy możemy użyć pośrednika to inna reprezentacja obiektu w zależności od określonych warunków, wyobraź sobie, że masz obiekt ProxyRepository i w zależności od pewnych warunków chcesz, aby dane były pobierane albo z MySQL, albo MongoDB. Proxy to umożliwia. ’

Podsumowując Proxy przekierowuje żądania do oryginalnego obiektu wtedy, kiedy powinny być przekierowane, a warunki zależą od typu Proxy. […]

Polimorfizm na przykładzie szyfrowania(Cezar, AES) w PHP

W poprzednim wpisie pisałem o potędze polimorfizmu w programowaniu obiektowym. W tym postaram się podać bardziej przydatny przykład z życia na podstawie szyfrowania tekstu.

Do stworzenia mechanizmu potrzebuje interfejsu Icrypt, który zawiera przydatne metody dla każdego algorytmu szyfrowania np zaszyfruj, odszyfruj itp.
interface ICrypt
{
public function encrypt($plainText);
public function decrypt();
[…]

Autor |3 lipca, 2014|Algorytmy, PHP, Programowanie obiektowe|0 komentarzy

Polimorfizm i programowanie obiektowe

Wielu z Was zapewne zastanawia się dlaczego programowanie obiektowe jest lepsze. Otóż dzięki OOP(object oriented programming) jesteśmy w stanie w bardziej ludzki sposób modelować świat programistyczny. W poniższym przykładzie postaram się przedstawić mechanizm polimorfizmu i korzyści, które daje nam programowanie obiektowe.

Dla celów wpisu utworzę sobie interfejs IVehicle, który będzie opisywał pojazd, klasę abstrakcyjną samochód, […]

Autor |1 lipca, 2014|PHP, Programowanie obiektowe|2 komentarze

Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048