Исходники и презентации

This commit is contained in:
2025-05-23 07:26:39 +03:00
parent aa948179d5
commit 02d8430a3a
514 changed files with 13773 additions and 0 deletions

View File

@ -0,0 +1,17 @@
package service
import "golang_course/lessons/interfaces/producer_interface/storage"
type ClientUpdater struct {
repository storage.ClientStorage
}
func NewClientUpdater(repository storage.ClientStorage) ClientUpdater {
return ClientUpdater{
repository: repository,
}
}
func (s *ClientUpdater) UpdateClient(client storage.Client) error {
return s.repository.UpdateClient(client)
}

View File

@ -0,0 +1,24 @@
package service
import "golang_course/lessons/interfaces/producer_interface/storage"
type MessageSender struct {
repository storage.ClientStorage
}
func NewMessageSender(repository storage.ClientStorage) MessageSender {
return MessageSender{
repository: repository,
}
}
func (s *MessageSender) SendMessage(userId int, message string) error {
_, err := s.repository.GetClient(userId)
if err != nil {
return err
}
// send message to client
return nil
}

View File

@ -0,0 +1,19 @@
package storage
type Client struct {
Id int
Name string
Surname string
Age int
Address string
}
type ClientStorage interface {
GetAllClients() ([]Client, error)
GetClientsByAge(int) ([]Client, error)
GetClient(int) (Client, error)
RemoveClient(int) error
UpdateClient(Client) error
CreateClient(Client) error
// ...
}

View File

@ -0,0 +1,35 @@
package mysql
import "golang_course/lessons/interfaces/producer_interface/storage"
type MySQLStorage struct{}
func (s *MySQLStorage) GetAllClients() ([]storage.Client, error) {
// already implemented
return nil, nil
}
func (s *MySQLStorage) GetClientsByAge(age int) ([]storage.Client, error) {
// already implemented
return nil, nil
}
func (s *MySQLStorage) GetClient(id int) (storage.Client, error) {
// already implemented
return storage.Client{}, nil
}
func (s *MySQLStorage) RemoveClient(id int) error {
// already implemented
return nil
}
func (s *MySQLStorage) UpdateClient(client storage.Client) error {
// already implemented
return nil
}
func (s *MySQLStorage) CreateClient(client storage.Client) error {
// already implemented
return nil
}

View File

@ -0,0 +1,35 @@
package redis
import "golang_course/lessons/interfaces/producer_interface/storage"
type RedisStorage struct{}
func (s *RedisStorage) GetAllClients() ([]storage.Client, error) {
// already implemented
return nil, nil
}
func (s *RedisStorage) GetClientsByAge(age int) ([]storage.Client, error) {
// already implemented
return nil, nil
}
func (s *RedisStorage) GetClient(id int) (storage.Client, error) {
// already implemented
return storage.Client{}, nil
}
func (s *RedisStorage) RemoveClient(id int) error {
// already implemented
return nil
}
func (s *RedisStorage) UpdateClient(client storage.Client) error {
// already implemented
return nil
}
func (s *RedisStorage) CreateClient(client storage.Client) error {
// already implemented
return nil
}