diff --git a/docs/2022-07-31-experiment-go.html b/docs/2022-07-31-experiment-go.html index f8aa0c4..74de9d8 100644 --- a/docs/2022-07-31-experiment-go.html +++ b/docs/2022-07-31-experiment-go.html @@ -26,5 +26,5 @@ type ClientAccount interface { // c is Client c.User.Get() c.Account.Remove() -
The difference is c.GetUser()
-> c.User.Get()
.
For example we have client which connect to bank.
There are many functions like GetUser
, GetTransaction
, VerifyAccount
, ...
So split big client to many children, each child handle single aspect, like user or transaction.
My concert is we replace an interface with a struct which contains multiple interfaces aka children.
I don't know if this is the right call.
This pattern is used by google/go-github.
Why?
See for yourself.
Also read A new Go API for Protocol Buffers to know why v1.20.0
is v2
.
Currently there are 2:
The difference is c.GetUser()
-> c.User.Get()
.
For example we have client which connect to bank.
There are many functions like GetUser
, GetTransaction
, VerifyAccount
, ...
So split big client to many children, each child handle single aspect, like user or transaction.
My concert is we replace an interface with a struct which contains multiple interfaces aka children.
I don't know if this is the right call.
This pattern is used by google/go-github.
Why?
See for yourself.
Also read A new Go API for Protocol Buffers to know why v1.20.0
is v2
.
Currently there are some: