
Design
GreAmbWang
博客是我的笔记本,Blink是我的朋友圈,论坛是我的老师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Design】ASP.NET MVC + EF + AutoMapper + T4 多模型项目设计方案
简介我们最常见项目架构就是三层架构,其中必少不了Model,但在一个项目中,肯定不止用一种模型比如DataModel(数据模型),Dto(数据传输对象),ViewModel(视图模型)其中各个模型的作用DataModel用于DAL层与数据库数据传输Dto用于BLL层与UI层数据传输ViewModel用于UI层的输入验证和数据展示可能有人会说,我只用一个模型不行吗?...原创 2020-03-15 00:21:19 · 606 阅读 · 0 评论 -
【Design】封装BaseDal基类
建立简单的模型现在编写用户信息数据库访问层UserInfoDalpublic class UserInfoDal{ DataModelContainer db = new DataModelContainer(); /// <summary> /// 添加用户信息 /// </summary> public User...原创 2019-08-13 23:59:01 · 652 阅读 · 0 评论 -
【Design】MVC 日志模块 使用观察者
在Global文件中,定义了筛选器在出现错误时执行该方法HandleErrorAttribute的OnExceptionpublic class FilterConfig{ public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(...原创 2019-08-19 22:41:04 · 390 阅读 · 0 评论 -
【Design】数据访问层 抽象接口 简单工厂 抽象工厂
数据访问层,访问数据的方式有很多种,可以用EF,ADO.NET等,在项目实现中如果突然想改数据访问方式,如果没有好的设计,改起来是很麻烦的。可以用抽象接口的方式来实现首先,定义一个IBaseDal接口public interface IBaseDal<T> where T : class, new(){ /// <summary> /...原创 2019-08-15 22:02:36 · 553 阅读 · 0 评论 -
【Design】线程中共享上下文实例 简单工厂 切换上下文
在BaseDal中,一般都是直接使用具体上下文实例DataModelContainer db = new DataModelContainer();在项目中经常会更改需求,如果现在的DataModeContainer不适用了,要更改了可以通过基类DbContext作为返回值,只需要更改return new DataModelContainer();就好了public cla...原创 2020-01-06 09:01:09 · 441 阅读 · 0 评论 -
【Design】DbSession设计 数据访问层的入口
DbSession 是数据访问层的入口拥有所有Dal实例public class DbSession{ public IUserInfoDal UserInfoDal { get { return DalFactory.GetUserInfoDal(); } } public IOrderInfoDal OrderInfoDal ...原创 2019-08-16 22:58:48 · 1184 阅读 · 0 评论 -
【Design】业务逻辑层封装
与数据访问层一样,业务逻辑层也有增删改查,所以也定义一个基类public abstract class BaseService<T> where T : class, new(){ public IBaseDal<T> CurrentDal { get; set; } public IDbSession DbSession { get { retu...原创 2019-08-16 23:33:55 · 625 阅读 · 0 评论