代码之家  ›  专栏  ›  技术社区  ›  Finglas

Ninject模块或组织关联依赖项

  •  3
  • Finglas  · 技术社区  · 16 年前

    我已经开始使用Ninject,从一个屏幕广播中可以看出以下是如何设置绑定的:

    class MyModule : StandardModule {
    
        public override void Load() {
            Bind<IInterface>().To<ConcreteType>();
            // More bindings here...
        }
    }
    

    但是,假设一个应用程序中使用了100个对象。这意味着这将有100个绑定。这是正确的吗?

    其次,我假设给定这样一个应用程序,它可能被划分为子系统,如GUI、数据库、服务等。

    然后,您是否会为每个子系统创建一个自定义模块,该模块依次为:

    • 圭亚那模块
    • 数据库模块
    • ...

    对于每个模块,您都有它们所需的正确绑定。我在这一页对吗?

    Main

    1 回复  |  直到 16 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    应用程序中使用的对象。那个 这意味着这将有100个

    Convention extension for Ninject 这允许您根据某些已定义的规则扫描程序集和注册类型。看见 this test 举个例子。

    然后您会创建一个自定义模块吗

    同样,也不一定。您可能只想在一个约定注册中注册所有存储库(只是为了命名)。

    对于每个模块,您都有正确的 他们需要的绑定。

    与任何“模块”(无论是程序集、类还是应用程序)一样 coupling and cohesion 在这里也适用。保持低耦合(不要太依赖于其他模块)和高内聚(模块内的所有组件都必须为一个共同目标服务)是最佳实践

    最后,这种绑定会发生吗 主要还是您的产品的入口点 应用

    this related question .