Java, optymalizacja i przekombinowanie
Mam dziwne wrażenie, że trochę przekombinowałem.
Potrzeby był mi parser tekstu. Niestety najprostsze metody to:
- Wczytanie wszystkiego i zwrócenie wyniku
- To samo, tylko że z utworzeniem drzewka
Niestety było mi potrzebne coś w rodzaju leniwego drzewa - w końcu plik może być wczytywany przez słabe łącze. Dodatkowo wykonywanie kilku rzeczy naraz może przyspieszyć na maszynach wieloprocesorowych(i/lub wielordzeniowych procesorach).
Wpadłem na pomysł leniwego dzewka, które wysyła sygnały. W rezultacie:
- Mam 2 abstrakcyjne [interfejsowe] fabryki (jedna dla drzewa, jedna dla słuchaczy)
- Mam leniwe drzewko - oddzielnie interfejsy, oddzielnie klasy(w trakcie pisania)
- Mam wreszcie słuchaczy (tylko interfejsy napisane)
I tutaj pojawia się pytanie - czy jest to elastyczność, czy przekombinowanie?