Wesley13 Wesley13
3年前
DDD领域驱动设计在凯京科技的应用实践(概念充电篇)
凯京科技成立已三周年,其技术架构经历从单体应用到微服务架构的升级,项目经历了从Spring到SpringBoot的改造,配置实现自动化,初步实现分布式,微服务,具备一定的容错能力,完成RPC框架Dubbo的定制化改造。目前,凯京科技在领域驱动方面也在不断的探索和实践,将DDD与微服务有机结合来构建系统,从而做到系统的高内聚、低耦合。1\.为什么选择D
Wesley13 Wesley13
3年前
DDD实战进阶第一波(十一):开发一般业务的大健康行业直销系统(实现经销商代注册用例与登录令牌分发)
前两篇文章主要实现了经销商代注册的仓储与领域逻辑、经销商登录的仓储与相关逻辑,这篇文章主要讲述经销商代注册的用例与经销商登录的查询功能。一.经销商代注册用例在经销商代注册用例中,我们需要传递经销商的基本注册信息,这个信息是做成了DTO对象。1.经销商注册的DTO对象:publicclassAddDealerDTO
Wesley13 Wesley13
3年前
DDD实战进阶第一波(六):开发一般业务的大健康行业直销系统(实现产品上下文仓储与应用服务层)
前一篇文章我们完成了产品上下文的领域层,我们已经有了关于产品方面的简单领域逻辑,我们接着来实现产品上下文关于仓储持久化与应用层的用例如何来协调领域逻辑与仓储持久化。首先大家需要明确的是,产品上下文的领域逻辑是系统的核心,它不应该依赖仓储,而仓储应该要依赖领域层,这样仓储才可以把领域逻辑执行完后,才可能将领域对象持久化到数据库中,这一点与传统的架构
LeeFJ LeeFJ
1年前
Foxnic-SQL (14) —— DAO 的 Service 扩展
FoxnicSQL中的Service有点像DDD中的Repository,但Foxnic体系里面又没有将Repository和Service区分开来,所以它更有点像两者的合体。但,他们的合与分本身是弹性的,具体还是要看业务场景的需要。在很多项目中,好多时候,Controller是Service的二传手,或许它也会成为Repository的三传手。所以,到底是单传还是二传或是三传还是要看项目、看场景。<br/FoxnicSQL中的Service就是将数据操作的目标具体化,它初始的样子就是针对单个表、单个实体的数据操作者。Service在使用时需要代码生成工具由数据表生成Po、Vo对象,Service接口以及接口实现。关于如何生成这些代码,我们不在此节展开。在此我们主要是了解如何使用Service已经为开发者提供的诸多功能
DDD架构为什么应该首选六边形架构? | 京东云技术团队
采用依赖倒置原则后的分层架构和六边形架构,实际上都符合整洁架构设计理念。但是六边形架构中使用端口与适配器,让应用程序能够以一致的方式被用户、程序、自动化测试、批处理脚本所驱动,同时能够让应用程序边界更加清晰,从而能更好地防止领域层和应用层逻辑泄露到外层。
京东云开发者 京东云开发者
11个月前
DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队
我们有时候也会看到一些博客看到或者听到一些同事在说:这个业务有什么难的,不就是CRUD么?在软件生命周期初期,我们通过CRUD这种方式我们可以快速的实现业务规则,交付项目,但随着业务逐渐复杂,通过CRUD这种粗暴方式不可避免地会淹没业务核心规则,产生很多祖传(屎山)代码,系统交接的时候我们经常会听到,上一个开发是SB,或者自嘲自己是在屎山上面继续堆屎。