Jestem nowicjuszem programowania obiektowego i powoli uczę się, jak zastosować go do javascript. Więc proszę, weź mnie ze sobą. :)Jaki jest właściwy sposób kontrolowania powiązanych obiektów w javascript?
Mam dwie podstawowe obiekty:
"record", która zawiera metody edycji pojedynczy rekord z rekordów. (tworzenie, zapisywanie, ładowanie itp.)
"recordList", która zawiera metody wyprowadzania paginowanej listy tytułów rekordów.
Chciałbym, aby te obiekty mogły współpracować ze sobą. Na przykład, jeśli wywoływana jest funkcja record.save(), wywoływana jest również funkcja recordList.refresh(), dzięki czemu lista stronowana odzwierciedla zaktualizowane dane.
Aby to osiągnąć, utworzyłem trzeci obiekt "kontrola", który zawiera wystąpienia zarówno "rekordu" i "rekordList". Używam "kontroli" w następujący sposób:
control = {}
control.record = object.create("record");
control.recordList = object.create("recordList");
control.save = function() {
this.record.save();
this.recordList.refresh();
};
To działa. Ale zastanawiam się, czy to właściwe? (Chcę mieć pewność, że nie łamie to żadnej z zasad projektowania OO). Czy istnieje lepszy sposób?
Z góry dziękuję za pomoc.
dlaczego chcesz zapewnić oop w javascript? – Roman
@Roman: Ponieważ bawię się z budową aplikacji, która sprawia, że ciężko korzysta z ajax. W rezultacie większość logiki została przeniesiona z zaplecza do iz przodu. Co dość mocno komplikuje front-end. Więc równie dobrze może się nauczyć OOP w języku, w którym zamierzam go używać. :) – Travis