Курс:"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, лучшим - рефакторинг. Всё переписывать, допиливать. Если уже итак было куча костылей - то это очень сложная задачка. А следовательно в своём коде вообще надо СРАЗУ ЖЕ рефакторить, а не откладывать на потом. Синглтон сам по себе убивает понятия "архитектура" и "ООП". По сути экземпляр объекта доступен в любом месте и его можно использовать как угодно. Ну а здравый подход - когда все системы нарисованы, нарисованы их взаимосвязи и т.п. без всяких синглтонов. Это и есть сила логики - человек знает что и где может потребоваться. А если эта информация известна, то зачем пилить эдакие костыли? Уж лучше сделать приватный объект и самостоятельно решать кому МОЖНО дать доступ, а кому - нет
|
|
| | |
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Я, мне вот что интересно. Наверное Цитата здесь люди путают паттерны с шаблонами это ты про суждения о Синглтоне. Вопрос : Зачем закрывать мою тему если путаю не я?
Группа нашей команды. Там есть интересная рубрика... иногда игры выходят Моя первая игpa - Crazy Penguin
|
|
| |
beril | Дата: Пятница, 05 Февраля 2016, 22:25 | Сообщение # 53 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Цитата HlTLEЯ ( ) Боже мой, неужели никто не в силах прекратить этот нескончаемый поток глупости. Здесь люди путают паттерны с шаблонами, да еще и смеют писать что-то про архитектуру приложений. Прошу администрацию закрыть тему. Ну да. И в чем же разница? паттерн от слова pattern, что переводится, как шаблон )
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Alfe | Дата: Пятница, 05 Февраля 2016, 22:28 | Сообщение # 54 |
старожил
Сейчас нет на сайте
| beril, ну решил человек чуть чуууть выпендриться.
Группа нашей команды. Там есть интересная рубрика... иногда игры выходят Моя первая иг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 класс, но там свои ограничения(наследование, полиморфизм, а если вдруг кто то решил, что нужны несколько эксземпляров класса, вообще эбс наступает).... Это всегда был самый неоднозначный паттерн проектирования, который зачастую считают анти-паттерном. Обойтись возможно, я уже довольно часто в этом убеждаюсь. Назовите любую ситуацию, где якобы нельзя без синглтона обойтись, и я вам докажу обратное. Синглтон гарантирует, что если объект создан, то он будет единственным. Так создайте один экземпляр руками, господи
|
|
| |
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 ( ) Еще есть возможность наличия заранее определенного числа экземпляров
Ну, это скорее некая модификация синглтона. В классическом, насколько я могу судить, такого нет
|
|
| |
|