Разработка Go: Golang обучение с нуля | Паттерны проектирования | Фабричный метод | Golang patterns HD

Разработка Go: Golang обучение с нуля | Паттерны проектирования | Фабричный метод | Golang patterns
00:19:28
Обнаружено блокирование рекламы на сайте

Для существования нашего сайта необходим показ рекламы. Просим отнестись с пониманием и добавить сайт в список исключений вашей программы для блокировки рекламы (AdBlock и другие).

12n.ru 18163 ролика

Golang обучение с нуля | Паттерны проектирования | Фабричный метод | Golang patterns .

Паттерны проектирования.
Фабричный метод — это порождающий паттерн проектирования, который позволяет определяет общий интерфейс поведения объектов который позволяя подтипам реализовывать свою логику работы.

Для чего нужны паттерны проектирования и как с ними работать.
— Студия разработки Intellij idea
— Операционная система Linux

#golang #обучение #паттерны
RSS
Агентство цифровых технологий
12:53
+1
Не забывайте ставить лайки и подписываться на канал
Вы так же можете принять участие в развитии этого проекта.
Отблагодарить просто — (Там же можно сообщение написать)
Dekaf Gamer
18:20
+1
Спасибо
Dekaf Gamer
18:20
+1
Вы топ
Alexey Rubtsov
06:13
+1
Это не фабричный метод. Это обычная фабрика.
Разница в том, что фабричный метод принадлежит классу, инстанс которого создается фабрикой. Фабрика часть своих задач переносит на плечи самого класса. Метод в классе(конструктор), который позволяет взять на себя часть задач фабрики по созданию объекта будет фабричным методом.
Alexey Rubtsov
06:25
+1
А вообще не делайте так. Две типовые серьезные ошибки
1. Для перечисления типов необходимо создать новый тип
type NameType string и для него определить конкретные имена ServerType NameType = «server» и т.д.

При таком подходе мы можем например поменять тип NameType и сделать его int-ом. Реализовать для него метод String() и List(). А так же отдельным методом добавить проверку, что переданное значение является валидным. IsValid(t NameType) bool {}

2. Вторая грубейшая ошибка — держать все поля классов открытыми. Обзовите все поля с маленькой буквы и инициализируйте их конструктором. Если речь, конечно же, не идет о сериализации класса в какой-нибудь JSON объект. Но и в этом случае лучше определить отдельный тип данных.

3. Третья ошибка, не очевидная в этом примере, когда каждый класс который инициализируется фабрикой будет помещен в отдельный пакет(а это необходимо делать почти всегда) вы получите циклические зависимости. так как классы будут ссылаться на интерфейс определенный в pkg. А фабрика будет ссылаться на отдельные классы в пакетах. Решение — фабрика не должна находиться в пакете pkg. либо интерфейсы должны быть вынесены в отдельный пакет.
Тимон Радиумба
19:23
+1
супер, роста и развития каналу!
mgrm
00:25
+1
Все супер, только тему бы темную для ide)
Yarber Sheer
22:04
+1
папка pkg создаётся для экспортируемых пакетов… а это всё internal… чему детей учите…