想开发个常用框架,用以项目复用,但我又想让每个类库具有“独立”的功能,不依赖框架中其它类库项目(实际会用到框架中其它类库的功能,但我想做到,不赖具体的对象,因为我想日后可以任意更换其它的实现)比如A类库用到了B类库中的类,但我以后也许不用B类中的,用其它类库,只要实现了B类中的某个类的类;用依赖注入仍需要接口支持,那我接口放哪呢?每个类库建一个接口类库,还是所有类库建到一个接口类库中?或者有其它好的方案

解决方案 »

  1.   

    说到底就是面向接口编程,不管你用接口还是抽象类。解耦可以使用IoC。既然你想自己做框架,那何不自己设计实现一个IoC容器。另外也可考虑AOP方面。我觉得Spring.NET整个框架的设计不错,可以参考。
      

  2.   

    各项目之间不可能完全解耦,除非你不相互引用。或者你完全使用.NET Framework已有的接口,这样也可以不依赖于自定义的接口。