- 怎么在button事件中找到gridview每行的控件?
- 分享两个新网站取得高质量内容的技巧
- 百度优化能够杜绝人工干预
- ThinkPHP中hasWhere的用法
- 七个流行的添加单向链接的方法
- 京东商品标题发布的基本格式
- app上架需要办理什么资质呢?
- asp.net微信接口配置代码-开发者身份验证
- 使用Javascript防止重复提交表单
- 你的网站首页收到百度的“罚单”了嘛?
邮箱:
手机:15383239821
【中间件】AutoFac 理解和使用
一、标准的三层架构模式
Blog.AutoFac.ConsoleApp:控制台应用程序代替界面层(UI),负责处理数据;
Blog.AutoFac.Service:业务逻辑层(BLL),负责业务逻辑运算;
Blog.AutoFac.Repository:数据访问层(DAL),负责提供数据。
BlogService 在构造函数初始化 BlogRepository 对象,BlogService 实现依赖于 BlogRepository。BlogRepository 的代码改动也会导致 BlogService 代码改动,这是一种紧密耦合关系。
数据访问层代码:
/// <summary>
/// 博客仓储
/// </summary>
public class BlogRepository
{
public string GetBlogName(long BlogId)
{
return "Autofac入门到入坟";
}
}
业务层代码:
public class BlogService
{
readonly BlogRepository _blogRepository;
public BlogService()
{
_blogRepository= new BlogRepository();
}
public string GetBlogName(long BlogId)
{
return _blogRepository.GetBlogName(BlogId);
}
}
二、面向接口
面向接口编程是面向对象编程的一部分,通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。
面向接口好处是降低程序的耦合性,相对于标准的三层架构模式,解除BlogService 对于 BlogRepository 的依赖,易于程序的扩展。
面向接口编程遵循设计模式的开闭原则(对扩展开放,对修改关闭),将具体逻辑与实现分开,有新的改动可以添加新类,减少对于其他模块的影响。
Blog.AutoFac.ConsoleApp:界面层(UI),负责展示数据;
Blog.AutoFac.Service:业务逻辑层(BLL),负责业务逻辑运算;
Blog.AutoFac.Repository:数据访问层(DAL),负责提供数据;
Blog.AutoFac.IService:业务逻辑抽象层(InterfaceBLL),业务逻辑运算抽象接口;
Blog.AutoFac.IRepository:数据访问抽象层(InterfaceDAL),
- 上一篇:Autofac是什么?
- 下一篇:string.format()用法
-
2011-07-17如何限制用户只能通过域名访问
-
2021-07-21在jquery中,字符串转json对象,json对象转字符串
-
2011-04-15SQL Group by 用法
-
2010-09-29符合Web标准的细线表格CSS
-
2012-07-02提高关键词排名和网站收录
-
2012-07-08几条使用率最高的SQL语句
