Spotkałem się często z bibliotekami, w których klasy które można by nazwać dziećmi (nie w kontekście dziedziczenia, tylko tego która klasa jest factory której) pamiętają referencje do swojego rodzica.
Przykład, to choćby DOM
z JS'a, gdzie mając dowolny child, można złapać jego parent.
Albo przykład z tkintera, gdzie łapiąc komponent dodany do okna, można z tego dziecka wyciągnąć to okno.
Piszę sobie właśnie libkę do regexpów, jak część z was już wiem, i zastanawiam się czy nie dodać właśnie takiego patternu, w stylu:
$pattern = Pattern::of("\d+");
$matcher = $pattern->match("abc");
try {
$matcher->first();
} catch (SubjectNotMatchedException $ex) {
$ex->getPattern(); // tutaj wzięcie patternu, zamiast z $pattern
}
Co o tym myślicie? Useful? Czy raczej szkoda brudzić libkę takim czymś