Size: a a a

Golang Developers — русскоговорящее сообщество

2020 November 19

D

Dmitry in Golang Developers — русскоговорящее сообщество
package Server

type ClientInterface {
 GetUser() User
}

type User struct
{
 username
 accessRole
....
}

type Client struct
{
  connection websocket.Conn
  user User
}

func (c Client) GetUser() User{...}
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
вот примерный код
Client держит в себе информацию о коннекте и юзеру который законнектился по этому соединению
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Ещё раз: пользователь к серверу никакого отношения не имеет и не может иметь. Выносите эту сущность в другой слой.
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
да кто сказал что это сущность ?
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
это просто инофрмация о пользотеле полученная из соединения, к сущности не имеет никакого отношения
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Вы за советом пришли или поспорить?
Если поспорить, то я не готов.
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
я пришел за советов как быть в случае когда моки импортируют типы из пакета который мокают
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
к слоям архитектуры это не имеет значения, я не готов спорить о контекстах и тп
юзер это просто тип в пакете сервер, не сущность
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Dmitry
это просто инофрмация о пользотеле полученная из соединения, к сущности не имеет никакого отношения
выносите информацию в другой пакет )
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Анатолий
выносите информацию в другой пакет )
Ты не понимаешь))
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Анатолий
выносите информацию в другой пакет )
просто для примера: я еще не начал толком новый проект, а у меня уже в нем 10 пакетов
ничего не ограничивает в количестве пакетов, можете хоть на каждую мелочь по одному, можно их вложеными делать, если сущности совпадают или смежные, можно их выносить из ремозитория итд
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
Благодарю
источник
2020 November 20

MM

Max Max in Golang Developers — русскоговорящее сообщество
Всем привет! Какие фреймворки нынче востребованы в продакшне для построения монолитной/микросервисной архитектуры? Используются ли орм в проде?
Нашёл вот эти два gin и go-kit - есть у кого нибудь опыт использования?
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Max Max
Всем привет! Какие фреймворки нынче востребованы в продакшне для построения монолитной/микросервисной архитектуры? Используются ли орм в проде?
Нашёл вот эти два gin и go-kit - есть у кого нибудь опыт использования?
Практически все которые встречаются в поиске golang web framework востребованы. Очень много людей вообще не используют фреймверки.
источник

AS

Alexey Shumkin in Golang Developers — русскоговорящее сообщество
Max Max
Всем привет! Какие фреймворки нынче востребованы в продакшне для построения монолитной/микросервисной архитектуры? Используются ли орм в проде?
Нашёл вот эти два gin и go-kit - есть у кого нибудь опыт использования?
go-kit имеет внушительный список зависимостей ))
источник

FL

First Last in Golang Developers — русскоговорящее сообщество
Привет!
Кто-нибудь использует echo фреймворк?

Мне нужно описать роутер
(.*).js - но что-то не могу сделать это :(
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
он вроде не поддерживает регулярки
источник

D

Dmitry in Golang Developers — русскоговорящее сообщество
господа, я тут слегка запутался с интерфейсами и типами между пакетами, прошу помощи
1. интерфейс описывает поведение, какие методы должны быть у типа чтобы он удовлетворял интерфейсу
2. тип это структура которая если имеет методы нужные то подходит под интерфейс
3. интерфейс описывается в пакете которому он нужен
packet Test
type Something interface{
DoSomething()
}

тут вроде все понятно
однако проблема приходит в другом
Допустим у нас есть в пакете Server следующее
type Client struct
{
 ...
 hub *Hub
}

func(c CLient) GetHub() *Hub{ return c.hub} - т.е есть метод который возвращает ссылку на обьект хаба к которому прикреплен клиент - все супер

но как теперь Client передать в пакет Test1? каким образом написать для него интерфейс? ведь Test1 пакет не должен зависеть от Server соответственно мы не можем ссылаться на типы обьявленные в пакете Server
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
можете
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
просто создай его
источник