Пятница, 27 Декабря 2024, 07:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Курс:"Hello World или изучаем : Java. Синтаксис.Ч.2."
SaiteiДата: Пятница, 05 Февраля 2016, 18:48 | Сообщение # 41
старожил
Сейчас нет на сайте
ArromanFox, банальная лень или усталость. Иногда хочется сделать быстро, а иногда из-за усталости попросту не знаешь как сделать иначе. В обоих случаях надо сказать себе "есть другой выход" и немного отдохнуть =)
ArromanFoxДата: Пятница, 05 Февраля 2016, 18:55 | Сообщение # 42
почетный гость
Сейчас нет на сайте
Saitei, вот мы как раз хотели б знать, примеры хоть где это ускорило бы работу) На примере задачи.На словах, без кода.

Наблюдатель
SaiteiДата: Пятница, 05 Февраля 2016, 18:59 | Сообщение # 43
старожил
Сейчас нет на сайте
ArromanFox, дядя написал гигантскую систему. Настолько гигантскую, что её пришлось бы переписывать неделями. Захотелось фич добавить - а архитектура не позволяет. А если и позволяет, то придётся мусолить туда-сюда через get'еры ссылки и т.п. Вместо того, чтобы мусолить ссылку на объект или переписывать архитектуру целиком, можно получить прямой доступ через синглтон. Многие так и делают, в итоге код состоит исключительно из костылей
ArromanFoxДата: Пятница, 05 Февраля 2016, 19:11 | Сообщение # 44
почетный гость
Сейчас нет на сайте
Saitei, это что же, шаблонный экземпляр на множество классов? И чем это плохо и что было бы лучшим в такой ситуации?
Как я понял, тем, кто делает небольшие программы, можно вообще забыть о существовании синглтонов)


Наблюдатель

Сообщение отредактировал ArromanFox - Пятница, 05 Февраля 2016, 19:11
SaiteiДата: Пятница, 05 Февраля 2016, 19:29 | Сообщение # 45
старожил
Сейчас нет на сайте
ArromanFox, лучшим - рефакторинг. Всё переписывать, допиливать. Если уже итак было куча костылей - то это очень сложная задачка. А следовательно в своём коде вообще надо СРАЗУ ЖЕ рефакторить, а не откладывать на потом.
Синглтон сам по себе убивает понятия "архитектура" и "ООП". По сути экземпляр объекта доступен в любом месте и его можно использовать как угодно.
Ну а здравый подход - когда все системы нарисованы, нарисованы их взаимосвязи и т.п. без всяких синглтонов. Это и есть сила логики - человек знает что и где может потребоваться. А если эта информация известна, то зачем пилить эдакие костыли? Уж лучше сделать приватный объект и самостоятельно решать кому МОЖНО дать доступ, а кому - нет
AlfeДата: Пятница, 05 Февраля 2016, 20:13 | Сообщение # 46
старожил
Сейчас нет на сайте
Singleton мусолим? happy

Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin
ArromanFoxДата: Пятница, 05 Февраля 2016, 21:26 | Сообщение # 47
почетный гость
Сейчас нет на сайте
Saitei, ну да, действительно лучше семь раз отмерить и один раз отрезать, нежели обращаться к классам не пойми откуда, наращивая снежный ком ошибок. Подтвердил сейчас мои опасения по поводу этих синглтонов)
Alfe, а как иначе?^_^


Наблюдатель
AlfeДата: Пятница, 05 Февраля 2016, 21:41 | Сообщение # 48
старожил
Сейчас нет на сайте
Фух.Еле еле про классы кое как написал.

Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin
HlTLEЯДата: Пятница, 05 Февраля 2016, 21:45 | Сообщение # 49
был не раз
Сейчас нет на сайте
Боже мой, неужели никто не в силах прекратить этот нескончаемый поток глупости. Здесь люди путают паттерны с шаблонами, да еще и смеют писать что-то про архитектуру приложений. Прошу администрацию закрыть тему.

HTML5/JS/CSS/PS - > 15$/h Писать в ЛС (вышлю контакты)
AlfeДата: Пятница, 05 Февраля 2016, 22:03 | Сообщение # 50
старожил
Сейчас нет на сайте
HlTLEЯ, где ты увидел паттерн и где шаблон? Ты увидел экземпляр класса. Понимаешь? Эк-зем-пляр. И где хоть слоово про архитектуру приложения?

Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin
berilДата: Пятница, 05 Февраля 2016, 22:11 | Сообщение # 51
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата Saitei ()
Синглтон не нужен, имхо. Это просто костыль, который можно быстро вставить, а не рефакторить код целиком.
Каждый раз, когда мне хочется заюзать синглтон, я бью себя по рукам)

Singelton - паттерн. Без него порой вообще никак. Его назначение в ограничении количества экземпляров класса. Как без него можно обойтись, особенно в геймдеве ? Это наверно один из самых часто использоваюмых паттернов при разработке игр.
Я даже не представляю, как без Singelton можно обойтись.... Да как вариант использовать static класс, но там свои ограничения(наследование, полиморфизм, а если вдруг кто то решил, что нужны несколько эксземпляров класса, вообще эбс наступает)....




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
AlfeДата: Пятница, 05 Февраля 2016, 22:16 | Сообщение # 52
старожил
Сейчас нет на сайте
HlTLEЯ, мне вот что интересно. Наверное
Цитата
здесь люди путают паттерны с шаблонами
это ты про суждения о Синглтоне. Вопрос : Зачем закрывать мою тему если путаю не я? biggrin


Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin
berilДата: Пятница, 05 Февраля 2016, 22:25 | Сообщение # 53
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата HlTLEЯ ()
Боже мой, неужели никто не в силах прекратить этот нескончаемый поток глупости. Здесь люди путают паттерны с шаблонами, да еще и смеют писать что-то про архитектуру приложений. Прошу администрацию закрыть тему.

Ну да. И в чем же разница? biggrin паттерн от слова pattern, что переводится, как шаблон )




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
AlfeДата: Пятница, 05 Февраля 2016, 22:28 | Сообщение # 54
старожил
Сейчас нет на сайте
beril, ну решил человек чуть чуууть выпендриться. biggrin

Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin
HlTLEЯДата: Пятница, 05 Февраля 2016, 23:06 | Сообщение # 55
был не раз
Сейчас нет на сайте
beril, Умейте различать design и template. Она (разница) есть, например, разница между паттернами и шаблонами в cpp. Это разумно, и это та грань, которая помогает правильно понимать друг-друга, а так же что мы обсуждаем. Паттерн, раз уж о них здесь зашла речь, это скорее образец решения, но не шаблон(как мы его понимаем в cpp, например). Существует множество паттернов и помимо синглтона - фабрика, mvc, например.

Возникнут вопросы - пишите в лс.
К сожалению я не в силах повлиять на весь этот возникший на пустом месте холивар, и остается лишь наблюдать за этим цирком.


HTML5/JS/CSS/PS - > 15$/h Писать в ЛС (вышлю контакты)

Сообщение отредактировал HlTLEЯ - Пятница, 05 Февраля 2016, 23:09
AlfeДата: Пятница, 05 Февраля 2016, 23:14 | Сообщение # 56
старожил
Сейчас нет на сайте
HlTLEЯ, тут не cpp. Тут Java. Всё же понятия могут быть немного, но различны )

Добавлено (05 февраля 2016, 23:09)
---------------------------------------------
HlTLEЯ, ах да. Дружи с логикой. Если напутал что-то кто-то другой - не повод закрывать МОЮ тему.

Добавлено (05 февраля 2016, 23:14)
---------------------------------------------
И так, с написанием моей последней статьи про операторы if мы узнали все то, что понадобиться намдля нашей самостоятельной работы. Она продлится с 21:00 МСК в субботу по 22:00 МСК вторник. Присылаем самостоятельные Сюда


Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

Моя первая игpa - Crazy Penguin


Сообщение отредактировал Alfe - Пятница, 05 Февраля 2016, 23:08
SaiteiДата: Пятница, 05 Февраля 2016, 23:36 | Сообщение # 57
старожил
Сейчас нет на сайте
Цитата beril ()
Singelton - паттерн. Без него порой вообще никак. Его назначение в ограничении количества экземпляров класса. Как без него можно обойтись, особенно в геймдеве ? Это наверно один из самых часто использоваюмых паттернов при разработке игр.
Я даже не представляю, как без Singelton можно обойтись.... Да как вариант использовать static класс, но там свои ограничения(наследование, полиморфизм, а если вдруг кто то решил, что нужны несколько эксземпляров класса, вообще эбс наступает)....

Это всегда был самый неоднозначный паттерн проектирования, который зачастую считают анти-паттерном. Обойтись возможно, я уже довольно часто в этом убеждаюсь. Назовите любую ситуацию, где якобы нельзя без синглтона обойтись, и я вам докажу обратное. Синглтон гарантирует, что если объект создан, то он будет единственным. Так создайте один экземпляр руками, господи smile
berilДата: Пятница, 05 Февраля 2016, 23:58 | Сообщение # 58
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Ну к примеру: ты пишешь библеотеку, которой будут пользоваться другие, ты создал один экземпляр, вася создал один экземпляр, Петя создал один экземпляр и т.д )

Цитата Saitei ()
Синглтон гарантирует, что если объект создан, то он будет единственным.

Еще есть возможность наличия заранее определенного числа экземпляров




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
berilДата: Суббота, 06 Февраля 2016, 00:00 | Сообщение # 59
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата HlTLEЯ ()
beril, Умейте различать design и template. Она (разница) есть, например, разница между паттернами и шаблонами в cpp. Это разумно, и это та грань, которая помогает правильно понимать друг-друга, а так же что мы обсуждаем. Паттерн, раз уж о них здесь зашла речь, это скорее образец решения, но не шаблон(как мы его понимаем в cpp, например). Существует множество паттернов и помимо синглтона - фабрика, mvc, например.

Возникнут вопросы - пишите в лс.
К сожалению я не в силах повлиять на весь этот возникший на пустом месте холивар, и остается лишь наблюдать за этим цирком.

Как это все относится к Java ?




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
SaiteiДата: Суббота, 06 Февраля 2016, 00:06 | Сообщение # 60
старожил
Сейчас нет на сайте
Цитата beril ()
Ну к примеру: ты пишешь библеотеку, которой будут пользоваться другие, ты создал один экземпляр, вася создал один экземпляр, Петя создал один экземпляр и т.д )

Самый очевидный выход - не давать Васе и Пете создавать экземпляры. Выдавать ссылку на реализацию интерфейса с помощью той или иной функции. Выход? Выход : )
Цитата beril ()
Еще есть возможность наличия заранее определенного числа экземпляров

Ну, это скорее некая модификация синглтона. В классическом, насколько я могу судить, такого нет
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг