Ostatnio przyspieszyłem poznawanie wzorców projektowych i co ciekawe jakoś łatwiej mi to przychodzi niż przed kilkoma miesiącami. Może dojrzałem do tego? ;]
Kolejny wzorzec jakim się zainteresowałem ( co prawda przez przypadek, ale to nie zmiania faktu ) to wzorzec rejestru. Do czego służy? Ano, do rejestrowania różnych zmiennych, aby mieć do nich globalny dostęp. Oczywiście globalny nie w pełni tego słowa znaczeniu. Rejestrując zmienne posiadamy coś w rodzaju pojemnika na nie. Mało tego, możemy również zabronić używania dwóch zmiennych jakiegoś lub wszystkich typów. Możliwości jest wiele, wszystko jak zwykle zależy od inwencji twórczej programisty.
Wadą tego wzorca jest to, że albo musimy instancję naszej klasy rejestrującej przekazywać jako paramatr np do metod w klasach, albo uczynić z niego wzorzec mieszany Singleton Registry. Każda opcja ma swoje wady i zalety. A co za tym idzie zawsze trzeba się zdecydować, które rozwiązanie będzie dla nas wygodniejsze.
Niestety jeszcze nie implementowałem tego samodzielnie w PHP ( oczywiście dzięki google łatwo zapewne znaleść gotowce, ale nie pomaga to w dobrym zrozumieniu tematu )