Ответ
Добавление WebSocket в чистой архитектуре (Clean Architecture) обычно затрагивает 2 слоя:
-
Инфраструктурный слой - здесь реализуется сам WebSocket сервер/клиент (например, через
gorilla/websocket). Это техническая деталь, которая не должна просачиваться в бизнес-логику. -
Слой интерфейсов - добавляется новый интерфейс для работы с WebSocket, который будет использоваться в use cases. Например:
type WebSocketHandler interface {
Send(message []byte) error
Receive() ([]byte, error)
Close() error
}
Бизнес-логика (use cases) и доменный слой остаются неизменными, так как работают через абстракции. Это главное преимущество чистой архитектуры - изоляция изменений.