Slide 21
Slide 21 text
21
Copyright © 2015 every, Inc. All rights reserved.
実装
package repository
type Recipe interface {
Find(id int) (*model.Recipe, error)
}
…
// RDB経由でメモリ上にcacheされるrepositoryを保持
func NewRecipeService() RecipeService {
return &recipeService{
recipeRepo: memorycache.NewRecipe(sql.NewRecipe()),
}
}
// 抽象化されたrepositoryからrecipeを返却
func (s *recipeService) Get(id int) (*model.Recipe, error) {
recipe, err := s.recipeRepo.Find(id)
…
return recipe, nil
}