ioc初步理解(一) 简单实用aotufac搭建mvc三层+ioc(codeFirst)

1】首先搭好框架  1.1】搭建ui层   1.2】创建其他内库文件 整个项目基本部分搭建完毕之后如下 2】使用nuget引用文件 先在每一个项目中引入ef 然后再UI层引入以下两个文件autofac和Autofac.Mvc5 3】因为本demo实用codefirst,所以先去model层完善   3.1】创建几个model 创建一个 User.cs。里面放几个属性 id、name、pwd。   3.2】创建DBContext.cs这个文件的作用是自动生成数据库 内容如下   3.3】创建DbModelContextFactory.cs。此处作用是:获取当前EF上下文的唯一实例; 内容如下 4】创建DAL层内容【需要使用nuget引入ef文件 和model文件。dal层还需要引入idal】   4.1】首先完善IDAL(接口)内容     4.1.1】首先完成基础部分,创建IBaseDAL.cs 在里面添加增删改查这四个基本操作(注意IDAL中全是接口不是类,所以新建的时候注意吧class改成interface)代码如下 View Code     4.1.2】根据自己在model中创建的模型,在此处也一一对应的创建其dal层接口。所在这里创建一个IUser_DAL.cs 内容如下: 因为所创建的model只有一个user,所以IDAL层到此结束。   4.2】接下来创建DAL部分内容    4.2.1】首先创建DbContextFactory.cs => //获取当前EF上下文的唯一实例 代码如下 View Code     4.2.2】首先创建BaseDAL.cs 在里面写入具体的增删该查操作,代码如下: View Code    4.2.3】创建 User_DAL.cs文件,内容如下 5】创建BLL的内容【需要使用nuget引入ef文件 和导入model层。dal层文件,bll层还需要引入ibll层】   5.1】先创建IBLL(接口)层的内容     5.1.1】创建IBaseBLL.cs。代码如下 View Code    5.1.2】根据model层的模型创建ibll层接口。所在这里创建一个IUser_BLL.cs 内容如下:   5.2】完善BLL层内容     5.2.1】创建BaseBLL.cs,代码如下 View Code    5.2.2】根据model层的模型创建bll层文件。所在这里创建一个User_BLL.cs 代码如下: View Code 至此,基础部分建立完毕,接下来建立ui层内容 6】建立UI层内容【需要引入bll文件和dal文件 也就是6.1中图中的两个文件,否则autofac报错,找到不到文件】   6.1】首先在App_Start文件夹下建AutoFacConfig.cs文件 代码: View Code   6.2】然后再Global.asax中进行配置 如下:   6.3】创建一个公共层,使用nuget引入mvc和ef。添加文件IOCDI.cs 根据创建mode层中模型的数量写入内容:(写公共层主要考虑项目的扩展性,如果本项目中需要些api或者其他ui层时候,避免代码重复)【需要用nuget引入mvc、ef 和ibll层(注意此处mvc版本必须和ui层中mvc版本相同)】 7】最后创建一个控制器添加数据看看,  7.1】先配置Web.config  7.2】创建一个测试控制器(由于是codefirs所以不需要先创建数据库) 最后查看数据库 【最后附上关于autofac的几点疑惑】 1因为在ui层的App_Start下的AutoFacConfig.cs需要,所以ui层必须引用bll层和dal层,这和三层的理念有些差异。因为三层中ui层并不需要引入dal层。 【结尾说明,关于了解autofac花掉的时间说长也长说短也短。原本以为在博客园、csdn上面找一找就能马上得到一个可以运行的demo,但是很多博主都是按照自己的理解去写,在博文中或多或少会掉一些内容,这些内容对于博主和一些大牛来说是可以忽略不计的,因此博文只需要核心代码就可以,但是对于我这种萌新来说简直是灾难级别的,因为跟着博主敲打代码过程中时长因为缺点什么而无法运行,自己也不知道错误在哪。因此不得不敲到一半立马换下一个。导致效率低下。所以在写这个博文的过程中。我尽量将每一个细节全部罗列出来,以免像我这样的小白看不懂。照着这个流程讲代码敲出来并且运行时没什么大问题的。因为我每敲完一处就写一点。最后将代码运行完毕,才敢上传。如果各位看官觉得有什么问题可以在下方留言】 【如果需要代码可以去此下载,当然懒人也需要一点付出(csdn 3积分)。博主希望大家尽量多动手,多理解。不要像我之前一样只需要demo从不看文章导致后来吃了许多亏】https://www.cnblogs.com/1439107348s/p/9957307.html
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信