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

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

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

12n.ru 18771 ролик

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… чему детей учите…

Новости

«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost Рынок DLP-систем в Центральной Азии: как законы о суверенитете данных стимулируют спрос на локальные решения «СёрчИнформ КИБ» расширил возможности «открытого контроля» для ПК на Linux «РИКИТЛАБ» представила новую модель техподдержки ИТ-инфраструктуры промышленных предприятий MWS Cloud расширяет линейку ИИ-сервисов доступом к крупнейшей опенсорсной LLM

«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost


2 дня назад
«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost
«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost
Рынок DLP-систем в Центральной Азии: как законы о суверенитете данных стимулируют спрос на локальные решения
Рынок DLP-систем в Центральной Азии: как законы о суверенитете данных стимулируют спрос на локальные решения
«СёрчИнформ КИБ» расширил возможности «открытого контроля» для ПК на Linux
«СёрчИнформ КИБ» расширил возможности «открытого контроля» для ПК на Linux
«РИКИТЛАБ» представила новую модель техподдержки ИТ-инфраструктуры промышленных предприятий
«РИКИТЛАБ» представила новую модель техподдержки ИТ-инфраструктуры промышленных предприятий
MWS Cloud расширяет линейку ИИ-сервисов доступом к крупнейшей опенсорсной LLM
MWS Cloud расширяет линейку ИИ-сервисов доступом к крупнейшей опенсорсной LLM