Mam klasę sterującą aplikacją- Application();
oraz klasę zajmującą się sterowaniem w tej aplikacji(obsługa myszy, klawiatury itp)- AppControl();. Klasa AppControl przechowuje informacje o zachowaniach na daną reakcję(naciśnięcie klawisza):
app.appControl.addKeyEvent('escape', nacisnijEscape(), puscEscape());
Dane przechowywane są w tablicy
I teraz mam to rozwiązane tak:
Klasa Application posiada instancje obiektu AppControl();, i wygląda tak:
function Application() { var appControl = new AppControl(); . . . }
i teraz operacje wyglądają nastepująco:
var app = new Application (); app.appControl.addKeyEvent('left', przesunWLewo());
Tylko zastanawiam sie czy funkcje obiektu appControl nie powinny być funkcjami obiektu Application?
Bo w sumie nie wiem czy jest sens tworzyć nowy obiekt tylko w jednym miejscu(bo raczej sterowanie nie będzie dublowane).
Jest jeden mały problem. Bo nie pausje mi ładowac wszystkiego do jednego pliku(bo klasa Application nie zajmuje wiele(6kB), ale klasa sterowania narazie zajmuje 12 kB a będzie rozbudowywana.
Czy jest jakiś inny sposób na umieszczenie funkcji dla klasy w nowym pliku poprzez rozbudowywanie prototypowe?
np:
Application.prototype.addKeyEvent = function (){...}
Co wy myślicie na ten teamat. jak powinno być zrealizowane taki problem.
Nie jestem pewiem, bo JS jest językiem dynamicznym a ja pracowałem zawsze na PHP, C, Asm. I w PHP nie wachałbym się tylko stworzyłbym nową klasę, ale tutaj nie wiem