Абстрактная фабрика (Abstract Factory) - это порождающий паттерн проектирования, сначала определяет интерфейс создания семейств родственных объектов, а потом позволяет создавать конкретные группы классов, реализующих соответствующие интерфейсы. Мы рассмотрим идею и пример реализации шаблона абстрактная фабрика на языке программирования C#. Исходный код проекта доступен по ссылке github.com/shwanoff/ Подписывайтесь на канал, включайте колокольчик и поддержите развитие канала своим лайком. Это действительно важно для меня. А также не стесняйтесь задавать вопросы в комментариях. Включайте оповещения о новых видео и прямых трансляциях прямо в личные сообщения ВКонтакте. Самый удобный способ не пропустить ни одного видео - подпишись на рассылку bit.ly/2KVGNOD А для общения заходите в наши чаты: Общий чат в телеграм: ttttt.me/codeblog_chat Чат по C# в телеграм: ttttt.me/codeblog_csharp Чат в дискорд: discord.gg/EV2WdyP
У тебя много крутых уроков и серий, но это наверно, одна из важнейших. И ты отлично подаешь материал+пример. Обязательно продолжи, а то уже пол года прошло!
Привет! Посмотрел описание канал, ты пишешь, что в будущем планируешь видео по др ЯП - не надо, не отходи от C#, по питону и джаве есть вменяемые каналы на русском, а по шарпу достойных внимания нет, дальше хеллоу ворда почти не найти. Тем для видео полно, те же алгоритмы, к примеру, на графах, новинка от MS .Net Core, ASP.Net Core и т.д. За видео и канал в целом огромная благодарность !
Вооооот!!!! У меня буквально 3 дня назад была такая проблема!!! Было 2 похожих метода, которые использовали один и тот же интерфейс. Но только для разных реализаций интерфейса, методы должны были работать по-разному. Я не понял, как это сделать и просто залил эти методы в реализации. В итоге получилось много повторяемого кода. И не знаю, как по-другому.... А вот, если это через классы, через фактори провернуть.... P.S. Если конкретно - есть 2 таблицы в БД. Они похожи, но у них различаются названия похожих столбцов и в одной столбцов больше, чем в другой. Я проверяю наличие определённого дома или улицы. Для каждой таблицы написан свой метод, работающий с интерфейсом "адрес", который может реализовываться как дом или как улица. Но блин!!! Для улицы - надо проверять, условно, название улицы и её тип. А для дома - тип дома, номер, корпус, строение и тд.... И вот как?))) Как вот эти перекрёстные хрени прописывать?))
Есть ещё один интересующий вопрос: А можно каким-либо образом сделать 2 метода с одинаковым названием и сигнатурой, но только, чтобы поменяв что-то один раз в коде, подменивались сами методы? Типо, интерфейсы для методов. Есть такая штука? Существует? А, если нет, то почему? Почему не используется, это же очень удобно? Ну и тд...
Программирую на unity. Сейчас пишу игру под стим, симулятор езды шашками в онлайне. Тоже голосую за то, чтобы были уроки на тему unity. Вообще лично мне было бы интересно посмотреть на реализацию таких специфических вещей, как например PoolManager для онлайна, который синхронизирует объекты по сети со всеми клиентами. Или виды синхронизации позиции обьектов по сети - все что касается интерполяции, экстраполяции. Существует большое кол-во способов синхронизировать параметры и положение объекта в пространстве у всех клиентов, так как пинг у всех разный, и данные априори приходят с задержкой на клиент, юзают экстраполяцию для максимально точной позиционировании объекта в пространстве на клиенте. Какие-то такие вещи углубленные было бы интересно понаблюдать, вашу реализацию этого. Я так понял это канал не только для новичков, и не только про базовые вещи в языке. Поэтому на подобную дичь которую я описал было бы интересно посмотреть))
Как фабрики с ioc взаимодействуют? В плане каким образом можно запихнуть экземпляр в ioc который создали через фабрику. Да и вообще, тема ioc интересно было-бы послушать)
Вообще понятие фабрики универсально, ей без разницы, что именно выпускать, что запрограммируешь, то и будет. А вот по ioc ничего не могу сказать, совсем пока не знаком с этой темой
Тоесть получается что такой подход не оч даже в твоём примере с авто, вить все время что то добавляется в автомобиль , тоесть получается что при каждом новом комплектующем надо дополнять все больше и больше строк кода из за того что интерфейс меняется , как от этого можно избавиться?
Я так понял можно один раз написать этот паттерн как базовый и потом через интерфейсы переопределять что нам нужно : самолет, лопата, колбаса и т.д. Я правильно понял?
Абстрактная фабрика (Abstract Factory) - это порождающий паттерн проектирования, сначала определяет интерфейс создания семейств родственных объектов, а потом позволяет создавать конкретные группы классов, реализующих соответствующие интерфейсы. Мы рассмотрим идею и пример реализации шаблона абстрактная фабрика на языке программирования C#.
Исходный код проекта доступен по ссылке github.com/shwanoff/
Подписывайтесь на канал, включайте колокольчик и поддержите развитие канала своим лайком. Это действительно важно для меня. А также не стесняйтесь задавать вопросы в комментариях.
Включайте оповещения о новых видео и прямых трансляциях прямо в личные сообщения ВКонтакте. Самый удобный способ не пропустить ни одного видео - подпишись на рассылку bit.ly/2KVGNOD
А для общения заходите в наши чаты:
Общий чат в телеграм: ttttt.me/codeblog_chat
Чат по C# в телеграм: ttttt.me/codeblog_csharp
Чат в дискорд: discord.gg/EV2WdyP
instablaster.
У тебя много крутых уроков и серий, но это наверно, одна из важнейших. И ты отлично подаешь материал+пример. Обязательно продолжи, а то уже пол года прошло!
Круто! Все стало ясно теперь, особенно когда начал рисовать таблицу. Сделай видео со сравнением Abstract Factory и Builder.
Привет!
Посмотрел описание канал, ты пишешь, что в будущем планируешь видео по др ЯП - не надо, не отходи от C#, по питону и джаве есть вменяемые каналы на русском, а по шарпу достойных внимания нет, дальше хеллоу ворда почти не найти.
Тем для видео полно, те же алгоритмы, к примеру, на графах, новинка от MS .Net Core, ASP.Net Core и т.д.
За видео и канал в целом огромная благодарность !
Ну пока по C# и .net еще целая куча материала, поэтому есть что рассказывать. но когда-то может и закончится )
значить я с тобой ))
Вооооот!!!! У меня буквально 3 дня назад была такая проблема!!! Было 2 похожих метода, которые использовали один и тот же интерфейс. Но только для разных реализаций интерфейса, методы должны были работать по-разному.
Я не понял, как это сделать и просто залил эти методы в реализации. В итоге получилось много повторяемого кода. И не знаю, как по-другому.... А вот, если это через классы, через фактори провернуть....
P.S. Если конкретно - есть 2 таблицы в БД. Они похожи, но у них различаются названия похожих столбцов и в одной столбцов больше, чем в другой. Я проверяю наличие определённого дома или улицы. Для каждой таблицы написан свой метод, работающий с интерфейсом "адрес", который может реализовываться как дом или как улица. Но блин!!!
Для улицы - надо проверять, условно, название улицы и её тип. А для дома - тип дома, номер, корпус, строение и тд.... И вот как?))) Как вот эти перекрёстные хрени прописывать?))
Есть ещё один интересующий вопрос:
А можно каким-либо образом сделать 2 метода с одинаковым названием и сигнатурой, но только, чтобы поменяв что-то один раз в коде, подменивались сами методы?
Типо, интерфейсы для методов. Есть такая штука? Существует? А, если нет, то почему? Почему не используется, это же очень удобно? Ну и тд...
Программирую на unity. Сейчас пишу игру под стим, симулятор езды шашками в онлайне. Тоже голосую за то, чтобы были уроки на тему unity. Вообще лично мне было бы интересно посмотреть на реализацию таких специфических вещей, как например PoolManager для онлайна, который синхронизирует объекты по сети со всеми клиентами. Или виды синхронизации позиции обьектов по сети - все что касается интерполяции, экстраполяции. Существует большое кол-во способов синхронизировать параметры и положение объекта в пространстве у всех клиентов, так как пинг у всех разный, и данные априори приходят с задержкой на клиент, юзают экстраполяцию для максимально точной позиционировании объекта в пространстве на клиенте. Какие-то такие вещи углубленные было бы интересно понаблюдать, вашу реализацию этого. Я так понял это канал не только для новичков, и не только про базовые вещи в языке. Поэтому на подобную дичь которую я описал было бы интересно посмотреть))
Очень интересные вопросы ) записал себе в блокнот )
Как фабрики с ioc взаимодействуют? В плане каким образом можно запихнуть экземпляр в ioc который создали через фабрику. Да и вообще, тема ioc интересно было-бы послушать)
Вообще понятие фабрики универсально, ей без разницы, что именно выпускать, что запрограммируешь, то и будет. А вот по ioc ничего не могу сказать, совсем пока не знаком с этой темой
Большое спасибо за видос =). Луйк
Могли бы пояснить как сериализовывать объект класса абстрактной фабрики?
Wow, wow!! What I see!! Is it start video of new chapter "Patterns"??
No, isn't!
Not really. This is the third video in the course. And I will continue to shoot video ))
Тоесть получается что такой подход не оч даже в твоём примере с авто, вить все время что то добавляется в автомобиль , тоесть получается что при каждом новом комплектующем надо дополнять все больше и больше строк кода из за того что интерфейс меняется , как от этого можно избавиться?
Можно попробовать другой паттерн в таком случае, например строитель
Всё так просто и так сложно :)
а что сложно то?)
попробуй добавить мотоцикл там например, может понятнее станет))
Я так понял можно один раз написать этот паттерн как базовый и потом через интерфейсы переопределять что нам нужно : самолет, лопата, колбаса и т.д. Я правильно понял?
Примерно, только производимые продукты должны быть схожими по возможностям. по сути - реализовывать один интерфейс и тогда да )
Какие 640? Речь шла о 48К
Музыка ?
У меня в группе вк эта мелодия фоновая добавлена в аудиозаписи. прям первая. название к сожалению не знаю
640кб же
Ну да, странно что никто раньше не заметил )
+++