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

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

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Что разумного иметь настройки всех сетей в приложении, выложенном на Facebook? Я начинаю бояться за свой рассудок.
Это открытая информация, ее можно получить без декомпиляции клиента. Адреса API-серверов соцсетей, адреса собственных серверов, appID приложений. Клиент при загрузке проверяет переданный ему сетью appID и настраивается на сервера, соответствующие этому appID. Не вижу дополнительных проблем (клиенты все равно декомпилят, в сервера все равно долбят и без этого).


Цитата:
Но когда архитекрура строится изначально иерархически, вложенными модулями, этот процесс естественен и называется настройкой при инициализации. Когда каждому более глубоковложенному модулю передаются все те параметры, которые ему необходимы, чтобы настроить себя и свои составляющие, точно так же при вызове метода (передаче команды этому модулю) ему отдаются необходимые параметры.
Это все больше теория, насчет того, что все параметры можно предусмотреть заранее, на этапе проектирования. На практике приходится при таком подходе либо тащить сверху вниз какие-нибудь xml-данные (и расширять их по мере необходимости узлами/атрибутами) или, что дает большую свободу, объект-обертку для параметров, который расширять путем добавления новых свойств.

И все равно я не понял, что я выигрываю от того, что протаскиваю по всему приложению ApplicationConfig.appMode и ApplicationConfig.socialNetwork, вместо того, чтобы работать с ними как с глобальными данными.


Последний раз редактировалось mikhailk; 13.08.2011 в 21:59.
Старый 13.08.2011, 22:09
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 2  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от mikhailk Посмотреть сообщение
И все равно я не понял, что я выигрываю от того, что протаскиваю по всему приложению ApplicationConfig.appMode и ApplicationConfig.socialNetwork, вместо того, чтобы работать с ними как с глобальными данными.
А зачем всему приложению знать в какой социальной сети оно находится? Имхо, должна знать только обертка(iFrame например) приложения, которая и сообщает только лишь необходимые данные о соц. сети. Например возможено ли создание своих альбомов с картинками или нет.

Старый 13.08.2011, 21:52
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вобщем, я так понял, никто не считает проблемой наличие никому не нужных данных или данных, доступных всем, кому они не нужны. "Разумно" - не то слово, которое приходит мне на ум, ну да ладно. "Лишь бы работало!" - так ведь? Я сбоку постою, не люблю демонстрации.
__________________
Reality.getBounds(this);

Старый 13.08.2011, 22:01
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 4  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Глобальная доступность константы Math.PI не очень смущает?

Старый 13.08.2011, 22:12
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 5  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
А зачем всему приложению знать в какой социальной сети оно находится?
Настройка элементов интерфейса в основном.
Разные валюты, разные размеры фото, разный функционал.

Но все равно, мы приходим к единственному аргументу: "ApplicationConfig.socialNetwork - плохо, потому что общедоступно".
Других аргументов я что-то не вижу.

Но я его, собственно, и задумал как общедоступный, чтобы он всегда был под рукой.


Последний раз редактировалось mikhailk; 13.08.2011 в 22:17.
Старый 13.08.2011, 23:02
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
mikhailk, Вам тоже стоит вступить в клуб "я читаю название топика, прежде чем участвовать в споре". И все же отвечу - нет, не смущает меня константа Math.PI, зашитая в плеере еще со времен МХ наверное, когда об ООП в ActionScript только мечтали. Ее использование не создает сильной связности. Если я когда-нибудь допишу свою графическую библиотеку, использующую класс Math направо и налево, и Вы ее скачаете, Вам не придется бегать по всему интернету в поисках этого класса. Но я не смогу воспользоваться вашим классом, которому для работы кровь из носу нужен другой класс – ApplicationConfig, а не простые настройки инициализации.
Приведите аргумент какой-нибудь, а то я уже не понимаю с чем спорю. "ApplicationConfig.socialNetwork - хорошо, потому что общедоступно". Это всё? А есть какое-нибудь объяснение, почему "общедоступно – это хорошо"? Так сказать, по сути спора?
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 13.08.2011 в 23:15.
Старый 13.08.2011, 23:19
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 7  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Цитата:
Разные валюты, разные размеры фото, разный функционал.
...разные приложения.

Мое мнение по теме. Если есть возможность (разумная) избавиться от глобальности - к этому нужно стремиться. Как уже было сказано выше, многое при этом решается еще на этапе проектирования. Как уже было сказано выше, публичные переменные доступны всем, бери - не хочу, делай что хочешь. Другое дело геттеры/сеттеры, даже скорее только геттеры - показать покажу, а испортить не дам. Это инкапсуляция, это ООП. Если же нужно что-то супер-глобальное, почему бы не использовать статику? Но это уже другая тема.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Вобщем-то, спора никакого нет.

Я так сделал для собственного удобства. Наличие статического класса ApplicationConfig и публичной переменной socialNetwork позволяет мне при необходимости сделать быструю доводку интерфейса под конкретную сеть, в т.ч., в тех классах, которые изначально не планировались к настройке под сеть, т.е. параметры соцсети в них изначально не передаются, а значит надо их тащить туда дополнительно. Где-то через конструкторы, где-то через дополнительные методы.

Соответственно, мой аргумент прост как 5 копеек: удобство за счет незначительного послабления в части строгости ООП.

Добавлено через 3 минуты
Цитата:
Другое дело геттеры/сеттеры, даже скорее только геттеры - показать покажу, а испортить не дам
Я с клиентом работаю один.
Если бы над проектом работала группа программистов, я бы реализовал через сеттер/геттер. В момент загрузки клиента вычислялся бы параметр сети, который потом де-факто становился бы константой.

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Я говорил не о программистах. Скорее о человеческом факторе. Но когда работаешь один, действительно, многие проблемы кажутся... Кажется что их нет. Проект при этом может быть успешным и различные доработки нисколько не напрягают (в контексте темы) единственного кодера.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ладно, немного сбавим градусы.
Мне просто интересно, в практическом смысле, вот Вы создали скажем класс, способный выводить сообщение юзера с его фотографией, датой и прочим. И Вам не жалко сделать его инвалидом, хватающимся за некий левый ApplicationConfig с набором стилей? Ведь это не позволяет Вам использовать этот классик повторно в другом проекте as is. Как Вы с этим живете?
__________________
Reality.getBounds(this);

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

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

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


 


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


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