konto usunięte
Temat: False Friend Class pattern ;)
Cześć!Dziś chciałbym przypomnieć pewną konstrukcję z C++. Programiści tegoż języka znają klasy zaprzyjaźnione:
class A{
}
class B{
friend class A;
}
Objaśnienie dla pozostałych: http://pl.wikipedia.org/wiki/Klasa_zaprzyja%C5%BAniona - w skrócie, dzięki deklaracji "friend class", klasa A może traktować prywatne atrybuty i metody klasy B jak swoje, tj. ma do nich dostęp.
Czemu o tym wspominam? Przeglądałem ostatnio nowości w PHP 5.4, zauważyłem nowe metody klasy Closure: ::bind() i ->bindTo(). Przyszło mi na myśl, że mogą umożliwiać zaprzyjaźnianie klas. Po chwili jednak zmieniłem zdanie - wszak klasy w C++ mogą wybierać przyjaciół, tutaj przyjaciele się narzucają. Wobec powyższego powstał wzorzec* False Friend Class: http://pastebin.com/cZYbCuhw ;)
Not big deal, just a ciekawostka.
---
* wzorzec, bo nie jest wbudowany w język. Na podstawie tego, możemy się przy okazji pokusić o stwierdzenie, że zbiór wbudowanych cech języka, to zbiór wspieranych przezeń wzorców projektowych.Łukasz K. edytował(a) ten post dnia 25.06.12 o godzinie 07:28