動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

段階2:サービスロケータ—アンチパターン認定

出典: ASP.NET MVC 5 で DI は業務系に要るのか — 入れない派の論点も書くDIの3段階理解— DIなし→サービスロケータ→コンストラクタインジェクション / 段階2:サービスロケータ—アンチパターン認定

段階2:サービスロケータ—アンチパターン認定 (csharp)#b6cf76b11634
// ❌段階2:サービスロケータ(アンチパターン扱い)
public static class ServiceLocator
{
    public static ICustomerService GetCustomerService()
        => new CustomerService(new SqlConnection(ConfigurationManager.ConnectionStrings["MyDb"].ConnectionString));
}
 
public class CustomerController : Controller
{
    public ActionResult Index()
    {
        var service = ServiceLocator.GetCustomerService();   // ←静的取得
        return View(service.GetActive());
    }
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #b6cf76b11634
  • lines: 15
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「DIの3段階理解— DIなし→サービスロケータ→コンストラクタインジェクション / 段階2:サービスロケータ—アンチパターン認定」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

4
図鑑トップ