上QQ阅读APP看书,第一时间看更新
Understanding services
This is where your code plugs into the system. When the endpoint is called, it invokes the corresponding method in your service implementation to do all the work. All the hard work of encoding and decoding requests and responses is done by the endpoint wrapper. You can focus on your application logic using the best abstractions that make sense.
Here is the implementation of the SocialGraphManager function's Follow() method:
func (m *SocialGraphManager) Follow(followed string, follower string) (err error) {
if followed == "" || follower == "" {
err = errors.New("followed and follower can't be empty")
return
}
return m.store.Follow(followed, follower)
}