Исходники и презентации
This commit is contained in:
19
lessons/interfaces/producer_interface/storage/client.go
Normal file
19
lessons/interfaces/producer_interface/storage/client.go
Normal 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
|
||||
// ...
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user