Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 02.12.2013, 22:21
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Maxmaxmaximus3 Посмотреть сообщение
почему ты не пишешь так? круче же смотрится, да и логичнее.

var Module = new function(){


};
У меня в голове нездоровая ассоциация с new, как с созданием нового инстанса, мне твой способ менее очевиден, дело привычки.
__________________
kobezzza
code monkey
Ответить с цитированием
  #52 (permalink)  
Старый 02.12.2013, 22:30
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

ты создаешь новый инстанс модуля тип) типа не прост функция какая то а обьект возвращает, и это модуль, у меня так, у тя не?

или ты сразу думаешь раз new значит есть какой-то класс? и что же это за класс? - да?
Ответить с цитированием
  #53 (permalink)  
Старый 02.12.2013, 22:32
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Maxmaxmaximus3 Посмотреть сообщение
или ты сразу думаешь раз new значит есть какой-то класс? и что же это за класс? - да?
Угу, дело в том, что ОО подход я осваивал в C# и ActionScript3, так уж сложилось
Но скоро мы получим православный встроенный синтаксис модулей и всё будет хорошо!
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 02.12.2013 в 22:36.
Ответить с цитированием
  #54 (permalink)  
Старый 02.12.2013, 22:54
Аватар для jsru_
Кандидат Javascript-наук
Отправить личное сообщение для jsru_ Посмотреть профиль Найти все сообщения от jsru_
 
Регистрация: 09.04.2013
Сообщений: 149

...

Последний раз редактировалось jsru_, 03.12.2013 в 10:24.
Ответить с цитированием
  #55 (permalink)  
Старый 02.12.2013, 23:05
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от jsru_ Посмотреть сообщение
все правильно, ты кинул ссылку на пример композиции, но то, что ты написал это не композиция
Это ещё почему? Ты троллишь чтоли? У нас есть объект, у него есть свойство - другой объект, который является делегатом, а исходный объект делегирует ему свои обязанности и вместе они образуют композицию. Приведи хоть один аргумент подтверждения своих слов или признай, что ошибся.

Цитата:
Данное отношение объектов называется “has-a”, т.е. “имеет внутри себя” – в отличии от наследования – “is-a” – “является (наследником)”.
function Base() {
    this.sub = new Sub();
}

Base.prototype.sub = null;

function Sub() {
}


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

function Base() {
    this.sub = new Sub();
}

Base.prototype.sub = null;

Base.prototype.foo = function () {
    return this.sub.foo();
};

function Sub() {
}

Sub.prototype.foo = function () { alert('foo!'); }

new Base().foo();
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 02.12.2013 в 23:17.
Ответить с цитированием
  #56 (permalink)  
Старый 02.12.2013, 23:14
Аватар для jsru_
Кандидат Javascript-наук
Отправить личное сообщение для jsru_ Посмотреть профиль Найти все сообщения от jsru_
 
Регистрация: 09.04.2013
Сообщений: 149

...

Последний раз редактировалось jsru_, 03.12.2013 в 10:23.
Ответить с цитированием
  #57 (permalink)  
Старый 02.12.2013, 23:19
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от jsru_ Посмотреть сообщение
композиция - это когда ты вызываешь метод на родительском классе и он вызывает рекурсивно методы всех композиций (composite), пока не дойдет до исполнителя (leaf). или ты думаешь, если ты вызываешь внутри конструктора другой конструктор, то они образуют композицию? ну как знаешь...
Композиция - это паттерн повторного использования кода, альтернатива наследованию, в частности множественному. То что ты говоришь - это делегирующее наследование.
__________________
kobezzza
code monkey
Ответить с цитированием
  #58 (permalink)  
Старый 02.12.2013, 23:21
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от jsru_ Посмотреть сообщение
или ты думаешь, если ты вызываешь внутри конструктора другой конструктор
Слишком толсто. Очевидно, что я не стал расписывать, что свойство объект в конструкторе было создано с целью дальнейшего делегирования (двумя постами выше я уже привёл пример), а не с целью "вызвать конструктор в конструкторе", причём это поняли все, кроме тебя.

Цитата:
function Base() {
    this.sub = new Sub();
}

Base.prototype.sub = null;

Base.prototype.foo = function () {
    return this.sub.foo();
};

function Sub() {
}

Sub.prototype.foo = function () { alert('foo!'); }

new Base().foo();
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 02.12.2013 в 23:26.
Ответить с цитированием
  #59 (permalink)  
Старый 02.12.2013, 23:46
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

kobezzza, вот я о том и говорю, тут 1-3 человека включая тебя и меня которые шарят. при чем я самый хучший из этих троих.
Вот я например например поржал когда он про фабрику пошутил, а все бы подумали что я дурак и тупой и это рельно фабрика и что он не шутил =) вот такой тут народец

kobezzza, кстати , а в твоем примере если бы Sub должен был бы знать что-то о Base, то это означало бы что мы делаем что-то не правильно? (Так как в данном случае Subы не должны ни чего знать о Base)

Последний раз редактировалось Maxmaxmaximus3, 02.12.2013 в 23:50.
Ответить с цитированием
  #60 (permalink)  
Старый 02.12.2013, 23:53
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Maxmaxmaximus3 Посмотреть сообщение
kobezzza, кстати , а в твоем примере если бы Sub должен был бы знать что-то о Base, то это означало бы что мы делаем что-то не правильно? (Так как в данном случае Subы не должны ни чего знать о Base)
Ну, я всегда против того, когда "вложенный" объект знает о своём родителе, но если нужно нужна провязка, то сам Бог велел использовать обсёрвер, и это будет самое разумное решение Вообще event-driven - это здорово, если бы порой это не было бы так запутано, поэтому и придумали FRP (но мы то знаем, что внутри всё те же события).
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу функцию для canvas, которая будет перемещать мой объект на позицию х,у eko24 Events/DOM/Window 0 12.10.2013 00:33
Создать объект в объекте Bryant-24 Общие вопросы Javascript 3 10.07.2013 16:06
Как гугл получает объект внутри тега <script>? zilker Events/DOM/Window 4 19.03.2013 17:19
Передать ссылку на объект а не объект возникновения события Blazze Events/DOM/Window 0 11.10.2011 00:45
Получить объект содержащий caller no_alex Общие вопросы Javascript 14 20.03.2009 21:37