В таком случае дверь это обьект сервер а дом это объект клиент?
Должны ли двери сами себя открывать или дом или должен управлять?
Должны ли двери знать что-то о доме?
Короче суть в том что когда связи "один к многим" и эти "много" должны знать что-то об "одном" и он должен знать что-то о них, то обычные программисты новички просто сохраняют в каждом экземпляре двери ссылку на дом, а в доме создают массив дверей. Но это ужастное архитектурное решение и называется "спагетти стайл" =) так как связь между компонентами тесная, а должна быть как можно слабже, двери не должны ничего знать о доме а, дом о дверях.
У дверей должен быть интерфейс, и у дома интерфейс. Дом должен создавать массив в который кладутся двери. Двери не должны ничего знать о доме и о том где они лежат. И они должны иметь методы за которые дом мог бы ими управлять а эти методы что-то возвращать, возможно, интересное для дома.
И я совершенно не понимаю при чем тут вообще прототип?
Ты в курсе что прототип ВООБЩЕ не используется по уму? Люди пихают в прототип разные методы просто чтобы память не жралась и все, это ФИШКА такая, ТРЮК! Сам яваскрипт не так задуман!
по уму надо все пилить в конструктор
function Cat(){
this.say = function(){}
this.name = ''
}
и вообще что за двери и дом? ты вот про это?
function Home() {
this.doors = [];
this.openDoors = function() {
this.doors.forEach(function(door) {door.open()});
}
}
function Door() {
this.open = function() {};
this.close = function() {};
}