Witam,
Postanowiłem napisać swój własny framework. Jeszcze drobne poprawki i będzie ok. Wcześniej jednak może ocenicie moj sposób rozumowania i powiecie co o tym sądzicie.
Potraktowałem serwis www jak aplikację.
Każda aplikacja do komunikacji z użytkownikiem używa widoków, które są wcześniej z wielką dbałością projektowane. Jest ich określona ilość - zgodna z ilością funkcji oferowanych przez aplikację.
W frameworku nad którym pracuję do pierwszych czynności projektowych należy zaprojektowanie widoków (szablonów stron) w których wpisuję takie divy: <div id="NazwaModułu_NazwaBoxu"></div>. Z tego wynika, że każdy moduł do komunikacji z użytkownikiem wymaga istnienia w szablonie divów przeznaczonych wyłącznie dla niego.
Jak mam już utworzone takie widoki (np. index, logowanie, artykul, itp.) to uruchamiam obiekt actioncontrollera, w którym w "case" mam ujęte wszystkie zaprojektowane widoki. Dla każdego widoku uruchamiam obiekty rdzenia aplikacji (viewcontroller, session) plus dodatkowe obiekty wymagane przez dany widok.
Uruchomione moduły "odpytują" viewcontroller o swoje "boxy" (divy w szablonach) do których będą wysyłały wyniki swoich działań.
Actioncontroller uruchamiający wszystkie moduły wywołuje dla każdego z nich ich własną metodę ActionListener do której przekazuje po kolei wszystkie "polecenia" przekazane w adresie url. Każdy moduł ma możliwość wykonania określonego polecenia np. mamy do wykonania akcję "login" i jeżeli moduł musi wykonać jakieś operacje podczas logowania to wystarczy umieścić w jego metodzie ActionListener kod obsługujący to zdarzenie.
Po tym jak wszystkie moduły obsłużą swoje zdarzenia zostaje uruchomiona metoda viewcontrollera wysyłająca stronę do przeglądarki klienta.
Framework używa oczywiście urli typu:
http://www.mojastrona.pl/widok/akcja
http://www.mojastrona.pl/akcja
http://www.mojastrona.pl/widok/akcja,param...1,param2,param3
cokolwiek nie wpiszecie po http://www.mojastrona.pl/... aplikacja będzie działać. Po prostu zaimplementowałem wybór domyślnego widoku jak i akcji.
To wszystko. Napiszcie proszę co o tym sądzicie i czy warto nadal to rozwijać.
Pozdrawiam wszystkich serdecznie.