Круто! Побольше подобных видео. Да и вообще по коду. Вы очень круто пишете код, приятно смотреть и думать вместе. Ну и подкасты также хорошо, интересные мысли излагаете. Не забрасывайте пожалуйста канал :)
Дмитрий, спасибо большое за интересный материал. У меня есть вопрос. В начале видео вы сказали что используете публичные поля и не рекомендуете использовать свойства. Однако во всех букварях много внимания уделяется именно свойствам и их использование считается единственно правильным. Не могли бы вы прокомментировать этот вопрос?
+Евгений Плешивцев прокомментирую. свойства и, более конкретно, их навязывание программистам - это очередная панацея. если свойства не нужны, можно просто использовать поля. свойства нужны тогда и только тогда когди либо А) нужно в сеттерах и геттерах делать что-то умное, или В) нужно чтобы свойство было частью интерфейса. тогда да, свойства. а в целом они не нужны, и публичные поля более чем примелимы. к тому же, не будем забывать что сериализуются, например, именно поля, а не свойства. конечно это мое ИМХО, а народ сейчас любит усложнять и делать автосвойства на каждый чих.
😃 Два часа ночи... Не понимаю ни слова! что происходит? Зачем досмотрел до конца, не знаю. Круто. Жалко что видео очень короткое.... Хотелось бы узнать Джон и Джтл в итоге поженились? Жду продолжения. Лайк! 🤣
привет дмитрий очень полезно использую ваши фишки на своих проектах , влияет ли эта на скорость ? эта будет медленно или разницы нету ( performance = new || factory )?
Я нупп, но как понял та крутая непонятная для меня штука дипкопи не нужна, в смысле не относится к самому паттерну, а нужно просто создать дополнительный класс в котором будут храниться стартовые шаблоны, и из этого класса возвращать ссылки на обьекты с инициализироваными значениями(базовыми, и принимаемыми как парамеры).... Так понял?
Скажите пожалуйста. А каким способом можно запрограммировать сложные, составные предикаты? Вот в геймдеве же как-то кодируют "сценарий", причём с самыми разными предикатами (в кошельке должно быть столько, в сумке - то-то, такой-то персонаж должен быть убит). Я сомневаюсь, что на протяжении всей игры кодер это ручками набивает. Есть какой-нибудь serializable контейнер для такого рода сущностей как игровые предикаты?
+versurio фабрику можно делать если мы детерминированно знаем состояние. но это не всегда так: например мы получаем сложный объект извне, он как-то хитро сконфигурирован, но мы толком не знаем как, но хотим копиями подобного объекта пользоваться.
+Дмитрий Нестерук скажите пожалуйста, какими расширениями Вы пользуетесь при написании кода, (подсказки, советы и т.д.) и что за тема подсветки кода. Буду благодарен за ответ.
Как раз в случае сложного объекта, когда вы толком не знаете как он устроен, вы не можете пользоваться подобным методом копирования. Ну, например, некоторый сложный объект может содержать другой объект и для него не нужно делать deep copy, но нужно просто скопировать ссылку. Ну и что по поводу быстродействия? Сериализация + десериализация + создание некоторого ненужного временного количества объектов ?
Что за хрен без уважения к слушателям? Я привык, я тут туплю, я тут забыл. Уважаемый. Если ты любишь своих подписчиков, то люби их полностью. Не оскорбляй. Мне ваше видео Ютюб подсунул. Со стороны говно на палке.
Очень интересно. Я как автор неизвестного массам языка программирования V - можно полюбопытствовать по www.vlang.ru. Вижу в вас подвижника добра. Прошу найти время и рецензировать моё творение.
Очень трудно передать на сколько я впечатлён, тем как вы рассказали тему и на сколько же это было великолепно.
Ну, я рад что понравилось.
Круто!
Побольше подобных видео. Да и вообще по коду.
Вы очень круто пишете код, приятно смотреть и думать вместе.
Ну и подкасты также хорошо, интересные мысли излагаете.
Не забрасывайте пожалуйста канал :)
офигенно! спасибо огроменное. ценная находка это видео, посмотрю и остальные непременно
Спасибо, Дмитрий!
Просто и красиво, спасибо!
По полям тоже большой вопрос :)
+Дмитрий Пичугин (MrDywar) по полям ответил выше
Дмитрий, спасибо большое за интересный материал. У меня есть вопрос. В начале видео вы сказали что используете публичные поля и не рекомендуете использовать свойства. Однако во всех букварях много внимания уделяется именно свойствам и их использование считается единственно правильным. Не могли бы вы прокомментировать этот вопрос?
+Евгений Плешивцев прокомментирую. свойства и, более конкретно, их навязывание программистам - это очередная панацея. если свойства не нужны, можно просто использовать поля. свойства нужны тогда и только тогда когди либо А) нужно в сеттерах и геттерах делать что-то умное, или В) нужно чтобы свойство было частью интерфейса. тогда да, свойства. а в целом они не нужны, и публичные поля более чем примелимы. к тому же, не будем забывать что сериализуются, например, именно поля, а не свойства. конечно это мое ИМХО, а народ сейчас любит усложнять и делать автосвойства на каждый чих.
Дмитрий, спасибо. Более чем понятно.
Есть некоторые понятия о code standard, которому стоит придерживаться, а не лепить отсебятину.
@@chertykto2617 плюсую! Тут автор не прав
@@TheNofxsssМинусую - тут именно автор прав:)
😃 Два часа ночи... Не понимаю ни слова! что происходит? Зачем досмотрел до конца, не знаю. Круто. Жалко что видео очень короткое.... Хотелось бы узнать Джон и Джтл в итоге поженились? Жду продолжения. Лайк! 🤣
Вам спасибо)
Спасибо senior!
А в С# 9.0 завезли ключевое слово with, получается такие сложные конструкции уже не нужны?
привет дмитрий очень полезно использую ваши фишки на своих проектах , влияет ли эта на скорость ? эта будет медленно или разницы нету ( performance = new || factory )?
воу воу полегче )
Я нупп, но как понял та крутая непонятная для меня штука дипкопи не нужна, в смысле не относится к самому паттерну, а нужно просто создать дополнительный класс в котором будут храниться стартовые шаблоны, и из этого класса возвращать ссылки на обьекты с инициализироваными значениями(базовыми, и принимаемыми как парамеры)....
Так понял?
Ну можно и так сказать. Но проблема deep copy существует потому что мы живем в реальном мире где не все является struct-ом.
class to struct, не подходит!? Почему?
Скажите пожалуйста. А каким способом можно запрограммировать сложные, составные предикаты? Вот в геймдеве же как-то кодируют "сценарий", причём с самыми разными предикатами (в кошельке должно быть столько, в сумке - то-то, такой-то персонаж должен быть убит). Я сомневаюсь, что на протяжении всей игры кодер это ручками набивает.
Есть какой-нибудь serializable контейнер для такого рода сущностей как игровые предикаты?
Мне кажется для этого подходит паттерн "спецификация". Он позволяет строить предикаты и потом делать композицию из этих предикатов.
Если использовать фабрику, то зачем делать deep copy? Можно просто инстантировать объект каждый раз с предустановленными значениями.
+versurio фабрику можно делать если мы детерминированно знаем состояние. но это не всегда так: например мы получаем сложный объект извне, он как-то хитро сконфигурирован, но мы толком не знаем как, но хотим копиями подобного объекта пользоваться.
+Дмитрий Нестерук скажите пожалуйста, какими расширениями Вы пользуетесь при написании кода, (подсказки, советы и т.д.) и что за тема подсветки кода. Буду благодарен за ответ.
Как раз в случае сложного объекта, когда вы толком не знаете как он устроен, вы не можете пользоваться подобным методом копирования. Ну, например, некоторый сложный объект может содержать другой объект и для него не нужно делать deep copy, но нужно просто скопировать ссылку. Ну и что по поводу быстродействия? Сериализация + десериализация + создание некоторого ненужного временного количества объектов ?
это решарпер, если еще нужно)
Не нужны проперти? Ты шутишь?
Конечно шучу.
Что за хрен без уважения к слушателям? Я привык, я тут туплю, я тут забыл.
Уважаемый. Если ты любишь своих подписчиков, то люби их полностью.
Не оскорбляй. Мне ваше видео Ютюб подсунул. Со стороны говно на палке.
Очень интересно.
Я как автор неизвестного массам языка программирования V - можно полюбопытствовать по www.vlang.ru. Вижу в вас подвижника добра. Прошу найти время и рецензировать моё творение.
предлагаю начинать делать V++ потому что V загнулся