Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.04.2013, 12:15
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от Aetae
А не будет ли прототип таким образом засран тонной приватных методов, нафиг не нужных изначально конструируемому объекту, в которых сам чёрт ногу сломит?
А зачем по твоему ВООБЩЕ нужны приватные методы тогда если не за этим??? Приведи пример?
Ответить с цитированием
  #12 (permalink)  
Старый 18.04.2013, 12:31
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

он прав. создавать одни и те же методы для каждого объекта - не путь настоящего джедая.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #13 (permalink)  
Старый 18.04.2013, 12:35
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Приватные методы нужны для тех же целей что и публичные, только приватно.=)
Ну, на самом деле приватными методами конкретного объекта должны быть те функции, что выполняют абстрактную задачу и могут потребоваться из любого публичного метода: имеющегося или возможно созданного в будущем. Не стоит же превращать в общедоступные приватные методы те функции, что выполняют конкретную задачу в конкретном месте и востребованы впоследствии где-либо ещё быть не могут в силу своей специфичности. А вот что с ними делать - вопрос уже другой.)
__________________
29375, 35
Ответить с цитированием
  #14 (permalink)  
Старый 18.04.2013, 12:38
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от Aetae
Ну, на самом деле приватными методами конкретного объекта должны быть те функции, что выполняют абстрактную задачу и могут потребоваться из любого публичного метода
ну у нас getAngle и countSpeed так и есть)) не?
Ответить с цитированием
  #15 (permalink)  
Старый 18.04.2013, 12:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Хз.)
__________________
29375, 35
Ответить с цитированием
  #16 (permalink)  
Старый 18.04.2013, 12:51
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Aetae,
ну блин определи уж, используя свои знания то ну. ты должен знать то)
Ответить с цитированием
  #17 (permalink)  
Старый 18.04.2013, 12:58
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
А вот что с ними делать - вопрос уже другой.)
Создавать их только на время выполнения функции, чтобы соседний кусок кода их не спёр случайно.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #18 (permalink)  
Старый 18.04.2013, 13:09
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Aetae
А не будет ли прототип таким образом засран тонной приватных методов
смотря как и сколько писать

Сообщение от megaupload
Вопрос, если приватный метод захотят использовать 2 публичных то как это указать? Например если в данном случае публичный метод say захочет использовать приватный _getAngle ?
как вариант
var Cat = (function() {

	function getAngle() {}
	function countSpeed() {}
	
	// something

	return function() {
		// constructor
            this.say();
	};
}());

Это почти то же, что Tim приводил. Но я бы воспользовался его вариантом

Сообщение от Дзен-трансгуманист
и узришь больше нюансов и альтернатив
истину
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 18.04.2013 в 13:12.
Ответить с цитированием
  #19 (permalink)  
Старый 18.04.2013, 13:18
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

А истина печальна: идеально красивого и при этом работающего кода не получить, если строк поболе сотни. Всегда приходится идти на компромиссы. =(
__________________
29375, 35
Ответить с цитированием
  #20 (permalink)  
Старый 19.04.2013, 00:40
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от Aetae
А истина печальна: идеально красивого и при этом работающего кода не получить, если строк поболе сотни. Всегда приходится идти на компромиссы. =(
ну вот скатина а, ты прошел и сказал что все и так знали просто не хотели говорить и даже думать...................................... ........
спасибо тебе..




ну так и чо делать? я начал созавать тупо приватные методы под публичными которые их используют..... это по моему самый лучший подход.
Ответить с цитированием
Ответ



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

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