框架当然离不开分层,最开始写 Hello Word 第一个程序,很简单,完全不需要其他,直接Console.Write() 一下就好。后来需要实现一个小小的9*9乘法表,直接在一个方法在里面实现,可当我们实现一个业务的时候,可能要个100行左右的代码量,将此这个业务拆分成几个方法块,然后进行组合调用,这样做的目的也是解耦,为了以后需求变更时更好的拓展,分层也是这个目的,常见的一般时 数据访问层DLL,业务数据层BLL,模型层Model,UI层,有时候还会有一个帮助层,和接口层,这些层之间关系如下
如上,接入 AutoFac (IOC) 后,就不必进行大量的New 操作,需要那个方法,直接通过接口向容器拿就好。只需要将 BLL,DLL层的接口继承 IDependency接口,然后在全局文件Global中 进行注册。对于用惯了 New 方式的人来说,代码简直优美的不行,当然对于IOC 控制反转 的工具有很多,像 微软自带的 MEF,和其他的第三方工具 AutoFac ,等等,这里主推AutoFac 实现简单,好理解,我之前用的是MEF,用多了也还行,直到尝试了AutoFac,果然主流的东西还是更香一些。