作者:小傅哥 博客:https://bugstack.cn 原文:https://mp.weixin.qq.com/s/ezd-6xkRiNfPH1lGwhLd8Q 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 领导:为什么要使用DDD? 我也苦思冥想,怎么跟领导说咱们从 MVC 升级到 DDD 吧,因为 DDD 代码结构更加清晰.领域驱动比测试驱动开发更加先进.研发的兄弟们也更想用用新框架等. 不过这么聊被喷一顿不说,还得说你是过度设计瞎折腾,咋回事呢?因为没聊到重点呀,你MVC升级…
目录 回顾 dotnet 单元测试相关的工具和知识 可测试性 不确定性/未决行为 依赖于实现:不可 mock 复杂继承/高耦合代码:测试困难 实战:在全新的 DDD 架构上进行单元测试 需求-迭代1:分支管理 前期:分析调用时序 前期:设计模块与依赖关系 前期:列举单元测试用例 中期:业务逻辑实现 中期:领域服务实现 中期:单元测试实现 实战小结 需求-迭代2:支持外部 GitLab 前期:设计模块与依赖关系 前期:列举单元测试用例 中期:业务逻辑实现 中期:单元测试实现 ANTI-PATTER…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.用大项目,贯穿知识体系 写CRUD.堆API.改屎山⛰,熬多少个996也只是成为重复的螺丝钉.如果你希望捅破现有工作的瓶颈,拉高一下对技术的认知,那么就非常需要一个大项目来贯穿常用技术栈的知识体系.碎片化断层的背八股文,是解决不了这个事情 那怎么办?当然是要肝项目了,肝一个有互联网技术体系.有分布式架构运用.有DDD思想和设计模式实践的真实场景项目,才能让一个尚未接触此类项目或是长期陷入…
基于asp.net mvc + DDD 构架的开源.net cms系统. 运行截图: 特性: 跨平台 支持Windows.Linux.MacOX运行.linux运行案例:http://blog.ops.cc DDD领域驱动 使用领域驱动设计构建,通过简单的领域模型,提供了强大扩展能力. 支援多种数据库 默认使用SQLite作为数据库,同时支持Sql Server.MySQL.OLEDB(ACCESS) 支持模板引擎 内嵌一个简单的模板引擎实现,可以用html作为呈现主体.后台支持模板的安装,网络…
为什么要写这篇文章 1,在大半年前,公司开发任务比较轻松,自己不知道干什么,但是又想要学习技术,比较迷茫,后面我接触到了博客园,看了一个帖子,深有感触,我当时不知道学习什么,于是我信息给他,他居然回复我了,并且还给我建议学习的方向,以及学习的方法,我十分的感谢他. 2,在一次面试中,有人问我,你工作1年多了有没有做过自我总结,你觉得你的优势是什么,我当时吞吞吐吐的回答了,内心十分的慌张,在此补上总结. 3,学习了一段时间.Net Core了,记忆力比较差,记录下来,为以后用时做准备. 项目基础分…
一.为什么要分层 分层架构是所有架构的鼻祖,分层的作用就是隔离,不过,我们有时候有个误解,就是把层和程序集对应起来,就比如简单三层架构中,在你的解决方案中,一般会有三个程序集项目:XXUI.dll.XXBLL.dll 和 XXDAL.dll,然后把这三个程序集看成一个层,这没什么不可以,但当项目复杂的时候,如果还按照这种方式的话,你的程序集中的文件夹会越来越多,程序集也会越来越大.当你的视野跳出这个程序集的概念后,你会发现,层不只是和程序集对应,也和解决方案文件夹,或者是整个解决方案对应,一个层…
第一次写博客有点小激动,废话不多说先上图: 01_Client:存放UI相关的项目,比如ASP.NET MVC或者相关的Web Model及View Model项目. 02_Hosting:存放与Service相关的项目,可以是Direct Service,Remoting Service,Web Service,WCF Service或者Web API Service . 03_Domain:业务逻辑相关的所有实体以及操作(根据oo的思想设计类以及类之间的关系). 04_Infrastruct…
http://dddsamplenet.codeplex.com/SourceControl/latest#DDDSample-Vanilla/Application/IBookingService.cs http://www.cnblogs.com/landeanfen/p/4816706.html http://blog.csdn.net/bluishglc/article/details/6681253…
去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD,在学习过程中还可以,但是应用到实际项目时就会遇到各种坑,到头来各种妥协,我看到很多同学遇到这种情况,最后怪DDD,说DDD不实用云云.另有一些都没细了解过就抨击反对的,事实上,要想否定个东西,你总要了解了才有发言权. 一.误区 综合起来主要有一下几种误区: 1.1.DDD更高级,可以替代三层,为了…
前两篇:大型系统的支撑,应用系统开发思想的变迁 之前大致说了使用DDD的前期准备,现在可以真正开始实践了,以我刚刚结束的一个简单的经典DDD方式的项目为例子,当然由于比较简单,所以很多时候会脱离它来介绍一些额外情况,以及这些情况在<DDD>书上提到的解决办法,另外,说明一下,例子的作用只是例子,只是用来说明可以怎么做的,但真实情况时未必应该这么做.这一篇主要是大比例结构的. 首先,简单提一下项目背景,具体情况就不细说了.今年初公司重组,原本的一个公司拆分成了三个公司,信息化部门还是只有我们一个…