From 8fa0bd3ed9fd80c9ef8149d8d72fddf6aaf6425d Mon Sep 17 00:00:00 2001 From: Hau Nguyen Date: Fri, 9 Dec 2022 12:58:19 +0700 Subject: [PATCH] feat: https://go.dev/blog/protobuf-apiv2 --- docs/2022-07-31-experiment-go.html | 2 +- posts/2022-07-31-experiment-go.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/2022-07-31-experiment-go.html b/docs/2022-07-31-experiment-go.html index 0e33884..f8aa0c4 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.

Find alternative to grpc/grpc-go

Why?
See for yourself

Currently there are 2:

Thanks

Feel free to ask me via email +

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.

Find alternative to grpc/grpc-go

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:

Thanks

Feel free to ask me via email Mastodon \ No newline at end of file diff --git a/posts/2022-07-31-experiment-go.md b/posts/2022-07-31-experiment-go.md index 87a0eed..e8d7c8d 100644 --- a/posts/2022-07-31-experiment-go.md +++ b/posts/2022-07-31-experiment-go.md @@ -57,7 +57,8 @@ This pattern is used by [google/go-github](https://github.com/google/go-github). ## Find alternative to [grpc/grpc-go](https://github.com/grpc/grpc-go) Why? -[See for yourself](https://github.com/grpc/grpc-go/issues?q=is%3Aissue+compatibility+is%3Aclosed) +[See for yourself](https://github.com/grpc/grpc-go/issues?q=is%3Aissue+compatibility+is%3Aclosed). +Also read [A new Go API for Protocol Buffers](https://go.dev/blog/protobuf-apiv2) to know why `v1.20.0` is `v2`. Currently there are 2: