Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.08.2011, 05:25
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 21  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Цитата:
Тут некоторым в книжке написали что нельзя пользоваться глобальными переменными, так они теперь и другим говорят
У объектов есть состояние и поведение. Если состояние делать публичным, объект перестает его контролировать. Есть такое правило - надо скрывать реализацию. Это упрощает систему. Если будешь открывать реализацию ты будешь нарушать инкапсуляцию - при использовании объекта, придется думать не только о его интерфейсе, но и о его реализации.


Последний раз редактировалось kackbip; 12.08.2011 в 05:32.
Старый 12.08.2011, 05:53
saikspaik вне форума Посмотреть профиль Отправить личное сообщение для saikspaik Найти все сообщения от saikspaik
  № 22  
Ответить с цитированием
saikspaik

Регистрация: Nov 2009
Сообщений: 300
Цитата:
Сообщение от kackbip Посмотреть сообщение
У объектов есть состояние и поведение. Если состояние делать публичным, объект перестает его контролировать. Есть такое правило - надо скрывать реализацию. Это упрощает систему. Если будешь открывать реализацию ты будешь нарушать инкапсуляцию - при использовании объекта, придется думать не только о его интерфейсе, но и о его реализации.
Ну так я его буду контролировать.
Правило то есть, но я до сих пор не понимаю, кто может без меня менять значения переменных? Я вроде код сам пишу, в состоянии разобраться, где и когда что меняю

Старый 12.08.2011, 07:08
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 23  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Если вы пользуетесь методом для изменения свойств, вы можете контроль производить в данном методе. Если вы изменяете публичные свойства извне объекта - вам придется контролировать несколько мест откуда вы обращаетесь к свойствам. В итоге надо больше информации в голове держать, а это приводит к ошибкам.

А книжки читать, кстати, бывает полезно

Старый 12.08.2011, 08:07
saikspaik вне форума Посмотреть профиль Отправить личное сообщение для saikspaik Найти все сообщения от saikspaik
  № 24  
Ответить с цитированием
saikspaik

Регистрация: Nov 2009
Сообщений: 300
Цитата:
Если вы изменяете публичные свойства извне объекта - вам придется контролировать несколько мест откуда вы обращаетесь к свойствам. В итоге надо больше информации в голове держать
Это не сложно.
Цитата:
А книжки читать, кстати, бывает полезно
Зубы чистить тоже

Старый 12.08.2011, 08:11
kackbip вне форума Посмотреть профиль Отправить личное сообщение для kackbip Найти все сообщения от kackbip
  № 25  
Ответить с цитированием
kackbip
 
Аватар для kackbip

Регистрация: Sep 2007
Адрес: Tomsk
Сообщений: 943
Отправить сообщение для kackbip с помощью ICQ Отправить сообщение для kackbip с помощью Skype™
Цитата:
Это не сложно.
Это вы скажете когда начнете делать проекты:
1) в группе
2) большие
3) когда тим лид вас станет садить на кол
Зависит от конкретного приложения. Но ваш вариант будет неудобно расширять.

Старый 12.08.2011, 08:33
saikspaik вне форума Посмотреть профиль Отправить личное сообщение для saikspaik Найти все сообщения от saikspaik
  № 26  
Ответить с цитированием
saikspaik

Регистрация: Nov 2009
Сообщений: 300
Цитата:
Сообщение от kackbip Посмотреть сообщение
Это вы скажете когда начнете делать проекты:
1) в группе
2) большие
3) когда тим лид вас станет садить на кол
Зависит от конкретного приложения. Но ваш вариант будет неудобно расширять.
Ну так а я и не спорю.
Но пока я сам делаю игры, глобальные переменные приносят мне только пользу.
Да и большинство задающих здесь вопросы, думаю, работают в одиночку, без тим лидов.

Старый 12.08.2011, 11:02
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 27  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
и как это должно работать? Автор сам должен догадаться что нужно файл обзывать так же как и имя переменной?
хех. Ну как бы все по аналогии с классами. Автор мог уточнить, если бы у него появились какие-то сложности.
И потом - это самая настоящая глобальная переменная в AS3. Ответ 100% по теме.
Странно, что это сообщение так упорно игнорируется и идет всякий флейм про инкапсуляцию, совершенно не относящуюся к вопросу "Как правильно создать такую переменную".
Если есть такое желание похоливарить - создайте новую тему с подходящим названием, типа "Глобалсы vs кошерное ООП", тут ведь вокруг этого все крутится, не так ли


Последний раз редактировалось i.o.; 12.08.2011 в 11:21.
Старый 12.08.2011, 11:19
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 28  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Но пока я сам делаю игры, глобальные переменные приносят мне только пользу.
Да и большинство задающих здесь вопросы, думаю, работают в одиночку, без тим лидов.
Это не повод обрастать волосами и не чистить зубы. И тем более не повод советовать это другим. Дело не в тимлидах, дело в вашей собственной культуре и в вашем собственном гунфу. Безусловно, это ваш выбор – тратить время и силы на совершенствование или на поиск оправданий. Почему то очень часто путают понятия "хороший код" и "рабочий код". Здесь иногда начинающие товарищи, накопипастившие всяких строчек с файлопомоек, выкладывают такой код, что хоть за голову хватайся – но при этом он у них "работает", то есть визуально делает то, что они ожидали увидеть. То, что ваши игры с глобальными переменными работают, никоим образом не делает код хорошим. Это не наезд, это призыв к дальнейшему развитию. Не зацикливайтесь на стадии "я делаю игрушки и мне за них платят". Есть еще много ступеней вверх.
__________________
Reality.getBounds(this);

Старый 12.08.2011, 14:06
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 29  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
от того что у вас геттеры и сеттеры вам не суждено исопльзовать их меньше или не разбрасывать обращение к ним по разным классам (контроллерам), тоесть одинаково можно запутаться где что меняется как при сеттерах так и при глобальных переменных.+ сеттеры работают медленне. если мне не нужно диспатчить-контроллировать изменения модели юзаю паблики

спасибо Волш за пост (:
__________________
мира и гармонии

Старый 12.08.2011, 14:08
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 30  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от 3p.station Посмотреть сообщение
.+ сеттеры работают медленне.
о, да. Самый веский аргумент пожалуй.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.