{"url":"https://tbpgr.hatenablog.com/entry/20140509/1399646746","image_url":null,"height":"190","title":"Ruby | Collecting Inputs | Use transparent adapters to gradually introduce abstraction","blog_title":"Tbpgr Blog","provider_url":"https://hatena.blog","author_url":"https://blog.hatena.ne.jp/tbpg/","provider_name":"Hatena Blog","author_name":"tbpg","description":"\u6982\u8981 Use transparent adapters to gradually introduce abstraction \u524d\u63d0 Confident Ruby\u3067\u306f\u30e1\u30bd\u30c3\u30c9\u5185\u306e\u51e6\u7406\u3092\u6b21\u306e\u3088\u3046\u306b\u5206\u985e\u3057\u3066\u3044\u307e\u3059\u3002 \u30fbCollecting Inputs(\u5f15\u6570\u30c1\u30a7\u30c3\u30af\u3001\u5909\u63db\u306a\u3069) \u30fbPerforming Work\uff08\u4e3b\u51e6\u7406\uff09 \u30fbDelivering Output(\u623b\u308a\u5024\u306b\u95a2\u308f\u308b\u51e6\u7406) \u30fbHandling Failure(\u4f8b\u5916\u51e6\u7406)\u5f53\u8a18\u4e8b\u306f\u4e0a\u8a18\u306e\u3046\u3061\u3001Collecting Inputs\u306b\u95a2\u3059\u308b\u8a71\u3067\u3059\u3002 \u8a73\u7d30 \u72b6\u6cc1 \u4ee5\u524d\u304b\u3089\u5b58\u5728\u3059\u308bAdapter\u306e\u5c0e\u5165\u304c\u56f0\u96e3\u306a\u7279\u5b9a\u306e\u578b\u306eCollaborator\u3078\u306e\u4f9d\u5b58\u6027\u3092\u591a\u2026","version":"1.0","published":"2014-05-09 23:45:46","blog_url":"https://tbpgr.hatenablog.com/","width":"100%","categories":["Confident Ruby","Ruby"],"type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftbpgr.hatenablog.com%2Fentry%2F20140509%2F1399646746\" title=\"Ruby | Collecting Inputs | Use transparent adapters to gradually introduce abstraction - Tbpgr Blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}