Factory Method - Design patterns C#
Vložit
- čas přidán 21. 08. 2024
- The factory method is a generating design pattern that allows you to carry its instance creation into a separate class. That is, the base class defines the creation interface, and the implementation of the creation process is performed by the heirs.
We will look at the idea of this design pattern in detail and implement it in the C # programming language. And also consider the advantages and disadvantages of the design pattern factory method.
Subscribe to my social networks, there are many interesting and useful for developers:
Vkontakte: codeblog
Telegram: ttttt.me/codeblog
Support the development of the rope:
Donat: www.donational...
Patreon: / codeblog
The source code of the project is available on GitHub github.com/shw...
Design patterns describe typical ways to solve common software architecture problems. Design patterns are not a specific code, but a general concept for solving a particular problem, which will still need to be tailored to the needs of your program. The generating patterns solve the problem of creating new class instances.
We implement the factory C # method (factory method c #) or, as it is, sometimes also called the virtual constructor using the example of several popular instant messengers with the ability to send messages of various types. Such C # design patterns (design pattern c #) allow you to save the class from being tied to specific products. The factory method pattern makes it easy to add new products to the program. Design Patterns C # implements the principle of openness / closeness. But it is important to remember that the factory method pattern can lead to the creation of a large number of parallel class hierarchies. C # templates (C # templates) should be used with caution and not implemented in places where they are not needed.
You can also read about this pattern on my website at shwanoff.ru/fa...
By the way, my name is Shvanov Vadim, and I am a professional .NET developer with over 8 years experience and the author of this channel CODE BLOG. I talk about IT technology and lead this course on the C # language from scratch. Within its framework, we will consider both the basic syntax of the C Sharp language, and its practical application and special technologies, such as ASP .NET, Core, MVC, Unity, WCF, WPF, data structures and algorithms, design patterns, computer science, software and much more. For me, it is important not only to show the practical application of the C # language, but also to explain the basic idea and basic concepts of Computer Science. Visual studio c # and visual c # projects are used as the main development tool.
Training course C # design patterns (C # design patterns):
• Паттерны проектировани...
Detailed course on the C # programming language:
• Преимущества и недоста...
Detailed course on data structures in the C # programming language:
• Связный список (linked...
Detailed course on sorting algorithms in C #:
• Сортировка пузырьком (...
Talk about programming, motivating, and answering IT questions:
• Практика программирова...
programming #csharp # patterns #codeblog #ityoutubersru
Фабричный метод (Factory Method) - это порождающий паттерн проектирования, который задает интерфейс создания экземпляра объекта, но при этом позволяет наследникам решать экземпляр какого типа создавать. В базовом классе создателе мы определяем метод создания нового экземпляра базового класса продукта. И в дальнейшем реализуем этот метод для конкретных создателей и продуктов. Мы рассмотрим идею и пример применения фабричного метода, а также реализуем его на языке программирования C#.
Исходный код проекта доступен по ссылке github.com/shwanoff/FactoryMethodCodeblog
Подписывайтесь на канал, включайте колокольчик и поддержите развитие канала своим лайком. Это действительно важно для меня. А также не стесняйтесь задавать вопросы в комментариях. Приведи в комментариях пример, где бы ты применил данные паттерны проектирования.
Подписывайтесь на мои социальные сети, там много интересного и полезного для разработчиков:
ВКонтакте: vk.com/codeblog
Телеграм: ttttt.me/codeblog
А для общения заходите в наши чаты:
Общий чат в телеграм: ttttt.me/codeblog_chat
Чат по C# в телеграм: ttttt.me/codeblog_csharp
Чат в дискорд: discord.gg/EV2WdyP
Получать уведомления о новых видео в личные сообщения ВКонтакте: bit.ly/2LycbVs
Просто поразительно, какой годный контент прошел мимо меня)
Спасибо за объяснение, все очень грамотно и доступно)
Очень рад помочь :) лучше поздно, чем никогда
Лукас и коммент в поддержку канала!
Спасибо вам за труд!
Спасибо большое! На платных курсах меньше информации получил, чем здесь!
Спасибо за твой труд. Отличное видео
Всегда пожалуйста )
Я считаю можно объявить нежно 🤣🤣👍🤫 спасибо
материал очень полезный рекомендую
крутое делаешь вообще
Отличное видео.
Быстро, красиво, чисто, по правилам.
Спасибо, рад, что понравилось )
Спасибо за урок! очень круто. Но не хватило пояснений:) Буду пересматривать. P.S почему так мало лайков и комментариев(
самый крутой пример который я нашел
Спасибо мужик.
Главное сам по-русски печатает мессенджер, а по-английски называет его messanger
Прикольный формат)
Рад, что понравилось )
Спасибо за видео! Вот только непонятно мне - а зачем нужен этот паттерн? Мы создали несколько отдельных классов которые по отдельности реализовали функционал каждый свой в пределах "пишу какое то сообщение". Ну ок, а если б сделали без релизации интерфейсов что бы поменялось? Как применять эти классы теперь, в чем фишка?)
фишка с точки зрения клиента (того кода, который будет использовать твой код). если нужно будет поменять один объект на другой - ничего не нужно будет переписывать.
В моем понимании немного не складывается одна деталь: почему мессенджер создаёт сообщение, а затем оно само себя отправляет. Было бы логичнее, если бы мессенджер его отправлял. Почему нельзя было сделать фабричный метод, который бы возвращал не сообщение, а мессенджер, который бы имел метод отправки сообщения, принимая сообщение в качестве аргумента? Или это была бы уже абстрактная фабрика?
Спасибо за видео!
Слишком быстро код вводите (т.е. ввод кода на перемотке) :) Приходится на паузу нажимать, перематывать назад и вчитываться в комментарий в коде :)
Спасибо за урок, а нейронка будет еще? Вроде обещали довести её до рабочего вида.
В процессе, постараюсь выпустить как можно скорее
Я мало что понял, но к этому видео думаю я ещё не раз вернусь. Я хотел бы спросить, правильно ли я понимаю. Паттерн стратегия нужен, когда нужна множественная реализация абстрактного класса через наследование. Паттерн стратегия нужен когда нужна множественная реализация одного класса через множественные интерфейсы и инкапсуляцию
На самом деле не совсем. Это просто одна из возможностей расширения логики, без необходимости изменения основного класса. Есть интерфейс, который определяет соглашение: какие методы и свойства должны присутствовать у класса, а детали реализации базовому классу не интересны. деталями как раз занимаются вспомогательные классы, реализующие интерфейс
Вот у меня вопрос
обычно вить фабрики имеют один метод, а здесь прям полноценные классы. Почему именно так?
В твоей голове разве что фабрики имеют один метод
@@user-yd7qs2le1e она, синьоры с 10+ годами опыта подъехали
@@user-cz6mp5vr6z да любому, у кого iq больше, чем у табуретки, очевидна твоя чушь про один метод в фабрике.
@@user-yd7qs2le1e да да, конечно
Вы, конечно же, правы
Открыл ролик, он самый длинный. Думаю что там можно 20 минут объяснять. А там мюзикл на 80% времени
Хотя бы понятно как использовать, а то все рассказывают на примере яблок или табуретов. А после просмотра этого видео стало понятно не только зачем это надо, но и как это надо делать
@@ElChampi0 100%
АйТиБорода, Соер, Виндертон и Хаудихо :)
Прям мини подсказка что можно посмотреть
Завтра будет видосик, где будем много интересных каналов )
Два последних не особо нравятся, Соер и Борода годные
Вместо музыки лучше комментировать то что создаёте.
зачем музыка вместо объяснения?
А что делать, если телеграмм мессанджеру нужна поддержка той же функциональности что и у Инстаграм мессенджер? (то есть это отправка изображений)
А есть такой же препод, но по питону? Как обычно, боги не там, где ты.
Я в следующем году планирую по Python записывать
На степике есть два отличных курса, совсем с нуля:
- Программирование на Python Курс посвящен базовым понятиям и элементам языка программирования Python (операторы, числовые и строковые переменные, списки, условия и циклы). Курс является вводным и наиболее подойдет слушателям, не имеющим опыта написания программ ни на одном из языков программирования.
stepik.org/course/Программирование-на-Python-67/
-и не совсем
Python: основы и применение Курс посвящен базовым принципам языка Python и программирования в целом. Он хорошо подойдет тем, кто уже может писать простейшие программы на Python или тем, кто до этого программировал на других языках.
stepik.org/course/Python-основы-и-применение-512/
Мне оба очень понравились
Долго тебя не смотрел. Побрейся, братан.
С возвращением )) завтра новое видео - уже бритый там)
@@CODEBLOG До завтра)
Чем отличается паттерн фабричный метод от полиморфизма подтипов?
Фабричный метод это одна из разновидностей полиморфизма подтипов
В ускоренном режиме невозможно посмотреть что делаете
зачем делать такой громкой музыку и зачем рок..... Задолбался убирать звук на минимум и возвращать назад, когда авто начинает что-то говорить
Что за музыка на фоне?
15:17
Название я к сожалению точно не знаю, это из библиотеки ютуба. ее можно найти в моей группе в контакте (vk.com/audios-159224823) в аудиозаписях прямо первая "Без названия"