Size: a a a

2021 June 18

IL

Ihor Levchenko in Go-go!
(спасибо что вообще отвечаете!!)
источник

AB

Andrey Burov in Go-go!
я про Get, а не про Set, Update ;)
источник

с

сонная википедия... in Go-go!
type Client struct {
      Domain Domain
      ....
}

func NewClient() Client {
       c := Client{
          ....
       }
       c.Domain = Domain{client: c}
       return c
}
источник

с

сонная википедия... in Go-go!
ну или можно методы сделать
источник

с

сонная википедия... in Go-go!
которые создавали бы Domain
источник

с

сонная википедия... in Go-go!
источник

AB

Andrey Burov in Go-go!
ИМХО NewDomain, NewClient, NewVasya... нужны все же
источник

с

сонная википедия... in Go-go!
не очень
источник

с

сонная википедия... in Go-go!
особенно, если единственное поле Domain это Client
источник

AB

Andrey Burov in Go-go!
       c.Domain = Domain{client: c} зачем такая связь?
источник

AB

Andrey Burov in Go-go!
A -> B -> A ИМХО это плохая архитектура
источник

IL

Ihor Levchenko in Go-go!
источник

с

сонная википедия... in Go-go!
затем что Client инкапсулирует внутри себя как raw клиент, так и готовые оболочки в виде Domain
источник

AB

Andrey Burov in Go-go!
дык отлично всё
источник

AB

Andrey Burov in Go-go!
client.DomainUserList()
источник

AB

Andrey Burov in Go-go!
не нужно вам вот это всё client.domain.user и т.п.
источник

IL

Ihor Levchenko in Go-go!
да.. я вот там ниже написал Expected…
То есть мне не хотелось бы по 30 методов на один User или на один Admin лепить

Хотелось разделить это по неймспейсам, но чтобы каждый из них мог получить доступ к инстансу API KEY ))
источник

с

сонная википедия... in Go-go!
источник

IL

Ihor Levchenko in Go-go!
принимаю вашу точку зрения
как раз пришел сюда чтобы понять привычные паттерны мышления для Го 🙂
источник

AB

Andrey Burov in Go-go!
можете сделать Client.Domain().UserList()
источник