随笔分类 - DDD
摘要:这里的值对象如下风格: 关键的ef上下文如下:
阅读全文
摘要:步骤: 1.首先要在webapi的管道中 使用认证(Authentication) 2.要在webapi的服务中注册验证条件 代码如下: 3 为webapi控制器中的方法 设置授权 或者 允许匿名 上图所示 为授权给角色为普通用户 上图为允许匿名 步骤4 客户端请求需要授权的地址时在请求头中带上to
阅读全文
摘要:在使用过程中报过一个错误:The algorithm: 'HS256' requires the SecurityKey.KeySize to be greater than '128' bits 是因为我在使用的时候 这里面的长度不够 我做如下修改之后解决问题:
阅读全文
摘要:1.创建Dealer.Domain 类库项目 2.创建实体和值对象 3.安装ef的包 4.创建上下文接口(IDealerContext)之所以要创建上下文接口,是为了可替换,在其他项目总使用接口,当需要替换的时候,直接修改配置文件就可以了。 特别的,每一个webapi项目都有一个配置文件,所以针对不
阅读全文
摘要:1.在Util类库下新建DIService类 2 在webapi的appsettings.json文件中配置 要依赖注入的 接口和实现类 3 为Util类库项目 nuget安装 Unity.Container和Unity.Servicelocator两个包 4.创建服务定位器 ServiceLoca
阅读全文
摘要:1.在webapi的配置文件中配置连接字符串节 2.在webapi的startup类中的Configure方法中 将工具类里面AppSetting的静态Section的值 对应上webapi的配置文件里面的连接字符串节点 3.将领域中的上下文类里面的连接字符串改成从上面的AppSetting的静态属
阅读全文
摘要:此次采用的方法是 创建一个单元测试项目 在其中利用HttpClient 模拟浏览器 webapi 进行post请求来验证程序。 右键 调试测试 或者 运行测试
阅读全文
摘要:1.在Products解决方案文件夹下面新建一个项目 .net Core/Asp.net Core Web应用程序 取名Product.WebApi/选择Web Api core2.0版本 不进行身份验证 2.添加一个控制器(的API控制器)。 3.这个webapi项目只依赖于AppSrv项目,所以
阅读全文
摘要:通过服务来协调领域对象,来添加产品用例。 1.要实现产品上下文的服务,首先新建一个项目,在Product解决方案文件夹下面新建一个项目,项目的名称为:Product.AppSrv。 2.这个项目首先引用Product.Domain项目,因为它操作领域对象,所以还要引用DDD.Repositories
阅读全文
摘要:a.要实现仓储,首先要定义仓储接口。在领域层定义仓储接口,IProductRepository.cs。 产品持久化仓储的实现不应当在领域层实现,因为领域就和仓储实现紧密的绑定在了一起,导致业务和技术没有分离。之所以把接口定义在领域层是因为,领域层对数据的访问只要调用接口就行了。 b.在基础结构层中新
阅读全文
摘要:1.新建一个解决方案文件夹 取名Product 2.在Product解决方案文件夹下面创建一个.net core 类库项目 取名Product.Domain,引用项目DDD.Base项目 3.在类库下面新建一个文件夹 取名POCOModels,在这个文件夹下面新建两个partial的类 分别取名Pr
阅读全文
摘要:1.创建领域基础类库项目 取名DDD.DomainBase 放置于基础设施层 2.新建IEntity接口,内部创建2个属性 code和Id用于限定 3.新建IAggregationRoot接口 这个接口继承IEntity接口 4.新建IValueObject接口,这个接口带一个Id属性,如果实体引用
阅读全文
摘要:1.创建空白解决方案 2.创建Infrastructure解决方案文件夹 3.在Infrastructure解决方案文件夹下面 添加一个新的项目 这个项目是 .net core的类库项目,取名Util,asp.net core的配置文件的信息是经常使用的信息,所以要建一个关于其配置文件读写的类 Ap
阅读全文
摘要:通过学习圣杰的文章 UnitOfWork知多少 知道uow其实就是为了解决 一次提交所有更改 1.ef本身可以具备这样一个功能,但是我们在写仓储的实现的时候 经常会直接显式saveChanges了,如果多个仓储的持久化就会多次SaveChanges,这就不大好了。 2.对这篇文章的学习 我注意到一件
阅读全文
摘要:很多文章说的很复杂 其实实体就是一个有Id即唯一标识的类,它有字段 可以用来描述其自身的状态,还有方法可以完成一些行为。就是一个必须有Id的类
阅读全文
摘要:1 界限上下文概念的出现 当开发一个电子商务系统的时候,会给系统划分很多子域,销售子域是核心子域,此外还有物流子域,商品子域等支撑子域。在这些子域里面,一个商品product在销售子域和商品子域里面外面对它的关注内容是一样的,但是在物流子域就不一样了。在商品子域,我们会常常使用它的单价属性、名称属性
阅读全文
摘要:今天在学习DDD的过程中看到了大神 圣杰的博文 个人觉得非常经典 强烈推荐 在此提供url链接: UML类图10分钟快速入门 关于聚合 的理解 :一类没有紧密相关的东西聚在一起 ,分开了也可以独立存在 例如 大雁群是一群大雁聚合在一起,又比如动物园里面 一群不同种的动物聚合在一起。在一个服务中可能有
阅读全文
摘要:一个领域本质上可以理解为就是一个问题域,只要是同一个领域,那问题域就相同。 所以,只要我们确定了系统所属的领域,那这个系统的核心业务,即要解决的关键问题、问题的范围边界就基本确定了。 领域首先要拆分成子域,再逐步分类,可分为 核心子域,领域的核心目的是什么,那么这个核心目的所对应的模块就是核心子域
阅读全文
摘要:通用语言就是将事情描述清楚的语言 达到DDD的目标代码即设计,设计即代码。通俗的讲,也就是开发人员写的代码领域专家也能看懂。 ddd模式跟传统模式的一个区别在于 传统先创建数据库表 再根据表创建类。而ddd是先创建类 也就是实体 再根据实体创建数据库。这也就是为什么目前在使用EF的时候都推荐code
阅读全文

浙公网安备 33010602011771号