在单体应用的一些DDD实践经验】的更多相关文章

阅读此文需要一定的DDD基础,如果你是第一次接触DDD读者,建议先去阅读一些DDD相关的书籍或者文章之后再来阅读本文. 背景 自从我在团队中推行DDD以来,我们团队经历了一系列的磨难--先是把核心项目重构,接着又在一些衍生项目中尝试全面落地DDD, 最终探索了一些经验出来,特此记录一下. 本文采用语言无关的角度陈述,无论你是Java或者c#的开发同学相信都可以无障碍阅读. 请注意本文并不是介绍如何实现DDD,因为这个话题实在太大了. 这次的主题是分享一些我们团队在实践DDD过程中碰到问题和如何克…
原文:领域驱动设计(DDD)的实践经验分享之ORM的思考 最近一直对DDD(Domain Driven Design)很感兴趣,于是去网上找了一些文章来看看,发现它确实是个好东西.于是我去买了两本关于领域驱动设计的书本和一本企业应用架构模式的书.看了之后也掌握了一些理论基础.但总感觉需要通过做一个实际项目来测试自己所学到的知识.因为以前我开发过一个叫做“蜘蛛侠论坛”的网站,官方演示地址:http://www.entityspider.com/(论坛目前已关闭,需要源代码的可以联系我),但在我学习…
原文:领域驱动设计(DDD)的实践经验分享之持久化透明 前一篇文章中,我谈到了领域驱动设计中,关于ORM工具该如何使用的问题.谈了很多我心里的想法,大家也对我的观点做了一些回复,或多或少让我深深感觉到面向对象设计和领域驱动设计是两个不同层次的东西.你会面向对象并不代表你就会面向领域设计.后来,我无意中发现了一个网站,http://www.jdon.com,这个网站中所包含的知识在我看来非常深入,而且基本上都包含了现在一些最新的设计思想.我看了几篇文章后渐渐感觉到领域驱动设计并不是我想象中那么简单…
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Tips .同步于 flow.ci Blog.微信公众号.官方微博,知乎专栏,简书,欢迎关注或投稿:) 嗨,上周我们对 iOS/Android 项目持续集成做了比较多的功能优化,同时恢复了对 GitLab 的支持,修复了一些常见问题,详情见flow_ci changelog,如有问题可通过「在线消息」或…
最近发现下面关于上下文的理解有些问题,不太好改,暂时先不改了 承前:大型系统的支撑,应用系统开发思想的变迁,DDD实践切入点(一) 从大比例结构入手已经开始了系统的建设,大家都知道需求是会不断变化不断深入的,刚开始自然是模糊的大比例结构对将要进行的系统有一个初步的认识,在不断细化的过程中明确需求.前一篇中粗略的对主要的问题进行了描述,可以看出主要有两个部分,申请单管理和审批流转,两者都与申请单关联,但关注点不同,申请单管理的重点是对申请单本身信息的维护,而审批流转中主要是以申请单的部分信息为依据…
DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能 一.引言 在当前的电子商务平台中,用户下完订单之后,然后店家会在后台看到客户下的订单,然后店家可以对客户的订单进行发货操作.此时客户会在自己的订单状态看到店家已经发货.从上面的业务逻辑可以看出,当用户下完订单之后,店家或管理员可以对客户订单进行跟踪和操作.上一专题我们已经实现创建订单的功能,则接下来自然就是后台管理功能的实现了.所以在这一专题中将详细介绍如何在网上书店案例中实现后台管理功能. 二.后台管理中的权限管理的实现 后台管理中,…
DDD实践切入点(二) 承前:大型系统的支撑,应用系统开发思想的变迁,DDD实践切入点(一) 从大比例结构入手已经开始了系统的建设,大家都知道需求是会不断变化不断深入的,刚开始自然是模糊的大比例结构对将要进行的系统有一个初步的认识,在不断细化的过程中明确需求.前一篇中粗略的对主要的问题进行了描述,可以看出主要有两个部分,申请单管理和审批流转,两者都与申请单关联,但关注点不同,申请单管理的重点是对申请单本身信息的维护,而审批流转中主要是以申请单的部分信息为依据进行流转的决策,所以两者申请单的模型有…
DDD实践切入点(一) 前两篇:大型系统的支撑,应用系统开发思想的变迁 之前大致说了使用DDD的前期准备,现在可以真正开始实践了,以我刚刚结束的一个简单的经典DDD方式的项目为例子,当然由于比较简单,所以很多时候会脱离它来介绍一些额外情况,以及这些情况在<DDD>书上提到的解决办法,另外,说明一下,例子的作用只是例子,只是用来说明可以怎么做的,但真实情况时未必应该这么做.这一篇主要是大比例结构的. 首先,简单提一下项目背景,具体情况就不细说了.今年初公司重组,原本的一个公司拆分成了三个公司,信…
在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1  哪些知识点可以延后了解 在Java Core方面,下表中的知识点你可以不学习或者到用的时候再学习. 知识点 学习的时机 界面开发方面的知识,比如Swing等 Java主要用在Web方面,很少有项目会用到这些UI部分的知识点.大家可以等实际用到时再学习 Socket编程方面 可以先了解概念,等有项目需求时再学习…
华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机的方案,对于端到端资源利用率有一个很大的提升.而在 K8S 之上我们通过一层封装实现了超规模资源池.大家知道 K8S 现开源的版本最大只能支持到5000节点,并且这是在 Google 云上的验证结果,而在很多其他的云平台往往达不到.主要是受限于底层网络和存储系统. 所以在华为云,我们的做法是通过一层…