Sobes.tech
Junior — Middle

Kunt u voorbeelden geven van ontwerppatronen uit het boek Gang of Four die u in uw projecten hebt gebruikt?

sobes.tech AI

Antwoord van AI

В проектах на Go часто использовал следующие паттерны из книги Gang of Four:

  • Singleton — для создания единственного экземпляра конфигурации приложения или логгера.
  • Factory Method — для создания объектов с разной реализацией интерфейса, например, разных видов хранилищ (файловое, в памяти, база данных).
  • Decorator — для динамического расширения функциональности, например, обертка логгера, добавляющая форматирование или фильтрацию сообщений.
  • Observer — для реализации событийной модели, например, подписка на изменения состояния объекта.

Пример использования паттерна Singleton в Go:

package config

type Config struct {
    DatabaseURL string
}

var instance *Config

func GetConfig() *Config {
    if instance == nil {
        instance = &Config{DatabaseURL: "postgres://localhost/db"}
    }
    return instance
}

Этот паттерн гарантирует, что конфигурация будет загружена и доступна в единственном экземпляре во всем приложении.