Показать сообщение отдельно
  #8 (permalink)  
Старый 02.12.2013, 17:27
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

В таком случае дверь это обьект сервер а дом это объект клиент?
Должны ли двери сами себя открывать или дом или должен управлять?
Должны ли двери знать что-то о доме?

Короче суть в том что когда связи "один к многим" и эти "много" должны знать что-то об "одном" и он должен знать что-то о них, то обычные программисты новички просто сохраняют в каждом экземпляре двери ссылку на дом, а в доме создают массив дверей. Но это ужастное архитектурное решение и называется "спагетти стайл" =) так как связь между компонентами тесная, а должна быть как можно слабже, двери не должны ничего знать о доме а, дом о дверях.

У дверей должен быть интерфейс, и у дома интерфейс. Дом должен создавать массив в который кладутся двери. Двери не должны ничего знать о доме и о том где они лежат. И они должны иметь методы за которые дом мог бы ими управлять а эти методы что-то возвращать, возможно, интересное для дома.

И я совершенно не понимаю при чем тут вообще прототип?

Ты в курсе что прототип ВООБЩЕ не используется по уму? Люди пихают в прототип разные методы просто чтобы память не жралась и все, это ФИШКА такая, ТРЮК! Сам яваскрипт не так задуман!


по уму надо все пилить в конструктор

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() {};
}

Последний раз редактировалось Maxmaxmaximus3, 02.12.2013 в 17:36.
Ответить с цитированием