Абстрактная фабрика (Abstract Factory) - Паттерны проектирования C#

Поделиться
HTML-код
  • Опубликовано: 8 ноя 2024

Комментарии • 31

  • @CODEBLOG
    @CODEBLOG  5 лет назад +5

    Абстрактная фабрика (Abstract Factory) - это порождающий паттерн проектирования, сначала определяет интерфейс создания семейств родственных объектов, а потом позволяет создавать конкретные группы классов, реализующих соответствующие интерфейсы. Мы рассмотрим идею и пример реализации шаблона абстрактная фабрика на языке программирования C#.
    Исходный код проекта доступен по ссылке github.com/shwanoff/
    Подписывайтесь на канал, включайте колокольчик и поддержите развитие канала своим лайком. Это действительно важно для меня. А также не стесняйтесь задавать вопросы в комментариях.
    Включайте оповещения о новых видео и прямых трансляциях прямо в личные сообщения ВКонтакте. Самый удобный способ не пропустить ни одного видео - подпишись на рассылку bit.ly/2KVGNOD
    А для общения заходите в наши чаты:
    Общий чат в телеграм: ttttt.me/codeblog_chat
    Чат по C# в телеграм: ttttt.me/codeblog_csharp
    Чат в дискорд: discord.gg/EV2WdyP

  • @PersonaN1
    @PersonaN1 4 года назад +2

    У тебя много крутых уроков и серий, но это наверно, одна из важнейших. И ты отлично подаешь материал+пример. Обязательно продолжи, а то уже пол года прошло!

  • @AShahabov
    @AShahabov 4 года назад +1

    Круто! Все стало ясно теперь, особенно когда начал рисовать таблицу. Сделай видео со сравнением Abstract Factory и Builder.

  • @askarsaitov2913
    @askarsaitov2913 5 лет назад +1

    Привет!
    Посмотрел описание канал, ты пишешь, что в будущем планируешь видео по др ЯП - не надо, не отходи от C#, по питону и джаве есть вменяемые каналы на русском, а по шарпу достойных внимания нет, дальше хеллоу ворда почти не найти.
    Тем для видео полно, те же алгоритмы, к примеру, на графах, новинка от MS .Net Core, ASP.Net Core и т.д.
    За видео и канал в целом огромная благодарность !

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      Ну пока по C# и .net еще целая куча материала, поэтому есть что рассказывать. но когда-то может и закончится )

    • @askarsaitov2913
      @askarsaitov2913 5 лет назад

      значить я с тобой ))

  • @vladoss4643
    @vladoss4643 Год назад

    Вооооот!!!! У меня буквально 3 дня назад была такая проблема!!! Было 2 похожих метода, которые использовали один и тот же интерфейс. Но только для разных реализаций интерфейса, методы должны были работать по-разному.
    Я не понял, как это сделать и просто залил эти методы в реализации. В итоге получилось много повторяемого кода. И не знаю, как по-другому.... А вот, если это через классы, через фактори провернуть....
    P.S. Если конкретно - есть 2 таблицы в БД. Они похожи, но у них различаются названия похожих столбцов и в одной столбцов больше, чем в другой. Я проверяю наличие определённого дома или улицы. Для каждой таблицы написан свой метод, работающий с интерфейсом "адрес", который может реализовываться как дом или как улица. Но блин!!!
    Для улицы - надо проверять, условно, название улицы и её тип. А для дома - тип дома, номер, корпус, строение и тд.... И вот как?))) Как вот эти перекрёстные хрени прописывать?))

    • @vladoss4643
      @vladoss4643 Год назад

      Есть ещё один интересующий вопрос:
      А можно каким-либо образом сделать 2 метода с одинаковым названием и сигнатурой, но только, чтобы поменяв что-то один раз в коде, подменивались сами методы?
      Типо, интерфейсы для методов. Есть такая штука? Существует? А, если нет, то почему? Почему не используется, это же очень удобно? Ну и тд...

  • @razorprod4097
    @razorprod4097 5 лет назад

    Программирую на unity. Сейчас пишу игру под стим, симулятор езды шашками в онлайне. Тоже голосую за то, чтобы были уроки на тему unity. Вообще лично мне было бы интересно посмотреть на реализацию таких специфических вещей, как например PoolManager для онлайна, который синхронизирует объекты по сети со всеми клиентами. Или виды синхронизации позиции обьектов по сети - все что касается интерполяции, экстраполяции. Существует большое кол-во способов синхронизировать параметры и положение объекта в пространстве у всех клиентов, так как пинг у всех разный, и данные априори приходят с задержкой на клиент, юзают экстраполяцию для максимально точной позиционировании объекта в пространстве на клиенте. Какие-то такие вещи углубленные было бы интересно понаблюдать, вашу реализацию этого. Я так понял это канал не только для новичков, и не только про базовые вещи в языке. Поэтому на подобную дичь которую я описал было бы интересно посмотреть))

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      Очень интересные вопросы ) записал себе в блокнот )

  • @ЕвгенийАвдеев-и6п
    @ЕвгенийАвдеев-и6п 5 лет назад +1

    Как фабрики с ioc взаимодействуют? В плане каким образом можно запихнуть экземпляр в ioc который создали через фабрику. Да и вообще, тема ioc интересно было-бы послушать)

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      Вообще понятие фабрики универсально, ей без разницы, что именно выпускать, что запрограммируешь, то и будет. А вот по ioc ничего не могу сказать, совсем пока не знаком с этой темой

  • @kyberplay4361
    @kyberplay4361 4 года назад

    Большое спасибо за видос =). Луйк

  • @dmitry9018
    @dmitry9018 3 года назад

    Могли бы пояснить как сериализовывать объект класса абстрактной фабрики?

  • @mishapolishchuk5556
    @mishapolishchuk5556 5 лет назад

    Wow, wow!! What I see!! Is it start video of new chapter "Patterns"??

    • @ewgenbi
      @ewgenbi 5 лет назад

      No, isn't!

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      Not really. This is the third video in the course. And I will continue to shoot video ))

  • @TOXA_PYATNITSKY
    @TOXA_PYATNITSKY 5 лет назад

    Тоесть получается что такой подход не оч даже в твоём примере с авто, вить все время что то добавляется в автомобиль , тоесть получается что при каждом новом комплектующем надо дополнять все больше и больше строк кода из за того что интерфейс меняется , как от этого можно избавиться?

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      Можно попробовать другой паттерн в таком случае, например строитель

  • @axsuam
    @axsuam 4 года назад

    Всё так просто и так сложно :)

    • @kurnakovv
      @kurnakovv 4 года назад

      а что сложно то?)

    • @kurnakovv
      @kurnakovv 4 года назад

      попробуй добавить мотоцикл там например, может понятнее станет))

  • @yevhenvictorovich2288
    @yevhenvictorovich2288 5 лет назад

    Я так понял можно один раз написать этот паттерн как базовый и потом через интерфейсы переопределять что нам нужно : самолет, лопата, колбаса и т.д. Я правильно понял?

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      Примерно, только производимые продукты должны быть схожими по возможностям. по сути - реализовывать один интерфейс и тогда да )

  • @ГригорийСиницын-з3й

    Какие 640? Речь шла о 48К

  • @mudia3522
    @mudia3522 5 лет назад

    Музыка ?

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      У меня в группе вк эта мелодия фоновая добавлена в аудиозаписи. прям первая. название к сожалению не знаю

  • @misc2850
    @misc2850 5 лет назад +1

    640кб же

    • @CODEBLOG
      @CODEBLOG  5 лет назад +1

      Ну да, странно что никто раньше не заметил )

  • @ivanomelchenko1895
    @ivanomelchenko1895 3 года назад

    +++