{"author_url":"https://blog.hatena.ne.jp/fuyu77/","blog_url":"https://fuyu.hatenablog.com/","description":"\u696d\u52d9\u306eRails\u30a2\u30d7\u30ea\u306e\u30ea\u30d5\u30a1\u30af\u30bf\u5bfe\u5fdc\u306e\u4e00\u74b0\u3067Service Object\u3092\u5165\u308c\u3066\u307f\u305f\u3068\u3053\u308d\u3001\u306a\u304b\u306a\u304b\u5feb\u9069\u306b\u4f7f\u3048\u3066\u3044\u308b\u611f\u89e6\u306a\u306e\u3067\u3001Rails\u3067\u306eService Object\u306b\u3064\u3044\u3066\u79c1\u306a\u308a\u306b\u8abf\u3079\u305f\u3053\u3068\u3092\u307e\u3068\u3081\u3066\u307f\u305f\u3044\u3002\u30a2\u30f3\u30c1\u30d1\u30bf\u30fc\u30f3\u3068\u3057\u3066\u6279\u5224\u3055\u308c\u308b\u3053\u3068\u3082\u591a\u3044Service Object\u306b\u3064\u3044\u3066\u3001\u3069\u3046\u3044\u3063\u305f\u4f7f\u3044\u65b9\u3092\u3059\u308b\u3068\u30de\u30ba\u3044\u306e\u304b\u3082\u6398\u308a\u4e0b\u3052\u3066\u307f\u308b\u3002 Service Object\u304c\u6b32\u3057\u304f\u306a\u308b\u3068\u304d Rails\u6a19\u6e96\u306eMVC\u3067\u696d\u52d9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u88c5\u3057\u3066\u884c\u304f\u3068\u3001\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u304c\u8907\u96d1\u306b\u306a\u308b\u306b\u3064\u308c\u3066\u3001Controller\u307e\u305f\u306fModel\u306e\u51e6\u7406\u304c\u80a5\u5927\u5316\u3057\u3066\u3064\u3089\u3044\u72b6\u614b\u306b\u306a\u308a\u3084\u3059\u3044\u3002\u5177\u4f53\u7684\u306b\u306f\u3001 \u53ef\u8aad\u6027\u304c\u60aa\u3044 \u2026","author_name":"fuyu77","width":"100%","type":"rich","published":"2022-10-19 23:25:53","provider_url":"https://hatena.blog","provider_name":"Hatena Blog","version":"1.0","title":"Rails\u3067\u306eService Object\u306e\u4e0a\u624b\u306a\u4f7f\u3044\u65b9 \u2015Service Object\u30a2\u30f3\u30c1\u30d1\u30bf\u30fc\u30f3\u8aac\u306e\u691c\u8a0e\u2015","url":"https://fuyu.hatenablog.com/entry/2022/10/19/232553","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ffuyu.hatenablog.com%2Fentry%2F2022%2F10%2F19%2F232553\" title=\"Rails\u3067\u306eService Object\u306e\u4e0a\u624b\u306a\u4f7f\u3044\u65b9 \u2015Service Object\u30a2\u30f3\u30c1\u30d1\u30bf\u30fc\u30f3\u8aac\u306e\u691c\u8a0e\u2015 - \u4e01\u5be7\u306a\u66ae\u3089\u3057\u3092\u3057\u305f\u3044\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_title":"\u4e01\u5be7\u306a\u66ae\u3089\u3057\u3092\u3057\u305f\u3044\u30d6\u30ed\u30b0","image_url":"https://www.martinfowler.com/eaaCatalog/ServiceLayerSketch.gif","height":"190","categories":["Rails"]}