06 2020 档案

摘要:autofac版本:3.5.2 创建容器 var builder = new ContainerBuilder(); 注册方式(这一部分的关注点在于给RegisterType、RegisterAssemblyTypes方法传递的参数,以及可以使用lambda表达式进行筛选) 1、泛型/类型注册,好处 阅读全文
posted @ 2020-06-21 23:08 水墨晨诗 阅读(426) 评论(1) 推荐(0) 编辑
摘要:如果不采用某种查询机制,则Repository将充斥着大量的检索方法。 public interface ICustomerRepository { IEnumerable<Customer> FindAll(); IEnumerable<Customer> FindAllVIPCustomers( 阅读全文
posted @ 2020-06-14 22:00 水墨晨诗 阅读(558) 评论(0) 推荐(0) 编辑
摘要:Identity Map(标识映射)模式:通过将所有已加载对象放在一个映射中确保所有对象只被加载一次,在引用这些对象时使用该映射来查找对象。 ①、在处理数据并发访问时,要有一种策略让多个用户共同影响同一个业务实体。 ②、单个用户在一个长运行事务或复杂事务中,始终使用业务实体的一致版本。 using 阅读全文
posted @ 2020-06-11 21:58 水墨晨诗 阅读(559) 评论(0) 推荐(0) 编辑
摘要:public abstract class EntityBase { private int Version { get; set; } } /// <summary> /// 当从数据库中检索出Person实体时设置Version属性。 /// </summary> public class Pe 阅读全文
posted @ 2020-06-11 11:22 水墨晨诗 阅读(181) 评论(0) 推荐(0) 编辑
摘要:IAggregateRoot接口本身属于标记(market interface)接口模式。这个接口充当类和方法的元数据,那些与该类实例交互的代码在执行这些实例的工作之前检查是否存在该接口。 public interface IAggregateRoot{ }; IUnitOfWorkReposito 阅读全文
posted @ 2020-06-11 10:39 水墨晨诗 阅读(262) 评论(0) 推荐(0) 编辑
摘要:Layered Supertype(层超类型)模式定义了一个对象,改对象充当自己所在层的所有类型的基类,而且采用类继承机制实现。 意图:当某层中所有对象共享一组公共的业务逻辑时,可以使用Layered Supertype模式来移除重复的逻辑并将逻辑集中起来。 using System; using 阅读全文
posted @ 2020-06-07 21:53 水墨晨诗 阅读(178) 评论(0) 推荐(0) 编辑
摘要:Domain Model案例,项目结构图 ASPPatterns.Chap4.DomainModel.Model:Domain Model项目将包含应用程序内所有的业务逻辑。领域对象将存放在此处,并于其他对象建立关系,从而表示应用程序正在构建的银行领域。该项目还将以接口的形式为领域对象持久化和检索定 阅读全文
posted @ 2020-06-05 10:58 水墨晨诗 阅读(462) 评论(0) 推荐(0) 编辑
摘要:S.O.L.I.D: 单一责任原则(SRP):它要求每个对象只应该为一个元素而改变而且只有一个职责关注点。遵循这个原则,就可以避免单体类(软件领域的瑞士军刀,能解决很多问题)设计问题。使每个类均保持简介,就可以提升系统的可读性和可维护性。 开放封闭原则(OCP):对拓展开发,对修改封闭,这样就能够在 阅读全文
posted @ 2020-06-05 10:25 水墨晨诗 阅读(246) 评论(0) 推荐(0) 编辑