{"version":"1.0","categories":["ASP.NET Core"],"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.kinakomotitti.net%2Fentry%2F2021%2F08%2F29%2F205337\" title=\"Dependency Injection Principles, Practices, and Patterns \u00d7 \uff11\u7ae0 \u00d7 \u8aad\u66f8\u30e1\u30e2 - \u304d\u306a\u3053\u3082\u3061.net\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_url":"https://blog.hatena.ne.jp/kinakomotitti/","author_name":"kinakomotitti","provider_url":"https://hatena.blog","title":"Dependency Injection Principles, Practices, and Patterns \u00d7 \uff11\u7ae0 \u00d7 \u8aad\u66f8\u30e1\u30e2","image_url":null,"provider_name":"Hatena Blog","description":"\u76ee\u7684 \u3088\u304f\u3042\u308b\u52d8\u9055\u3044\u3068\u9593\u9055\u3044\u306e\u7406\u7531 \u9045\u5ef6\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306b\u3088\u308b\u30e1\u30ea\u30c3\u30c8\u3060\u3051 Unit Test\u304c\u3057\u3084\u3059\u304f\u306a\u308b\u3068\u3044\u3046\u30e1\u30ea\u30c3\u30c8\u3060\u3051 DI=Abstract Factory\u306e\u5f37\u5316\u7248 DI\u306b\u306fDIContainer\u304c\u5fc5\u9808 DI\u306e\u30e1\u30ea\u30c3\u30c8 Late binding:\u9045\u5ef6\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0 Extensibility:\u62e1\u5f35\u6027 Parallel development:\u4e26\u884c\u958b\u767a Maintainability:\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u6027 Testability:\u30c6\u30b9\u30c8\u5bb9\u6613\u6027 DI\u3059\u3079\u304d\u3082\u306e\u3001\u3059\u3079\u304d\u3067\u306a\u3044\u3082\u306e Stable dependency Volatile dependency \u307e\u3068\u3081 Refernce \u76ee\u7684 Depen\u2026","height":"190","url":"https://www.kinakomotitti.net/entry/2021/08/29/205337","type":"rich","blog_url":"https://www.kinakomotitti.net/","blog_title":"\u304d\u306a\u3053\u3082\u3061.net","width":"100%","published":"2021-08-29 20:53:37"}