数据模型与架构
文章平均质量分 94
Magic Ktwc37
自古人生最忌满,半贫半富半自安。
半命半天半机遇,半取半舍半行善;
半聋半哑半糊涂,半智半愚半圣贤;
半人半我半自在,半醉半醒半神仙;
半亲半爱半痛苦,半俗半禅半随缘;
人生一半在于我,另外一半听自然。
半生风雨半身寒,一杯浊酒敬流年,
回首过往半生路,红尘之中苦又甜。
展开
-
DDD(Domain Driven Design) 领域驱动设计从理论到实践 九
…接上七. 总结和资源分享 看到这里,相信大部分读者会对DDD的理念有所理解,但是又不能对整个过程完全了解。其实,笔者也处在这个阶段,水平不足之处,敬请大家原谅并给予指正! 笔者这里尝试总结一下DDD的核心理念:领域驱动设计是以领域核心业务为出发点,结合面向对象分析技术和设计模式,构造可重用,易于扩展和维护的领域模型,从而开发出健壮和可靠稳定的软件。领域驱动设计旨在把领域专家和技术人员联合在一起原创 2021-07-16 15:30:07 · 742 阅读 · 0 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 八
…接上六. 实践:战术设计 从某种意义上说,战略设计代表了计划能力,而战术设计代表了执行力。本节我们就来执行一下,因为本领域模型虽然并不复杂,但是如果把所有模型都贴出来也不太现实。笔者这里展示两个界限上下文的设计,只是个初稿,有很多不足,非常希望都到广大读者和专业人士的指正。用户管理上下文 CML 代码:BoundedContext userManagementContext implements userDomain { type =原创 2021-07-16 13:49:33 · 452 阅读 · 1 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 七
…接上五. 实践:战略设计 终于,我们来到了领域驱动设计的实践部分。在开始之前,我们明确一下领域驱动设计的主要产出:领域通用语言战略设计:子域划分到界限上下文再到上下文映射图(context mapper)战术设计:每一个界限上下文的模型设计,即类图首先,我们给出这个实践的需求,假设此需求来自于学术论文行业。该行业的核心业务逻辑是从各种渠道收集学术论文、或邀请行业知名专家共同撰写论文,并为用户提供在线阅读、检索等多种服务。我们先从DDD原创 2021-07-16 13:19:51 · 629 阅读 · 1 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 六
…接上战略设计与战术设计 DDD 同时提供了战略设计和战术设计。 战略设计帮助我们理解哪些投入是最重要的;哪些既有软件资产是可以拿来重新使用的;哪些人应该被加到团队中? 战术设计则帮助我们创建DDD模型中的各个部件。 让我们重新审视一下DDD开发流程:  原创 2021-07-15 15:17:52 · 514 阅读 · 3 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 五
… 接上四. 领域驱动设计基本概念介绍 在介绍领域驱动涉及的基本概念之前,我们先来看一下传统的思路容易形成什么问题。 无论是单体应用或者是服务化架构,开发人员在基本了解需求后,很容易从设计数据库模式开始。也就是说,开发人员会从业务需求上先构思实体关系图(ER-Graph),然后再以CRUD的思路来设计业务服务和代码。这种方式在简单业务逻辑上可以工作得很好,但是随着业务逻辑日趋复杂且需求频繁改动和增加原创 2021-07-15 15:02:54 · 499 阅读 · 0 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 四
… 接上SOA 架构 面向服务架构(Service Oriented Architecture,SOA)对于不同的人来说意思不同。这里梳理一下SOA原则:服务契约 : 通过契约文档,服务阐述自身的目的与功能。松耦合 : 服务将依赖关系最小化服务抽象 : 服务只发布契约,隐藏内部实现细节服务重用性 : 一种服务可以被其他服务所重用服务自治性 : 服务自行控制环境与资源以保持独立原创 2021-07-13 15:46:18 · 469 阅读 · 0 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 三
…接上文三. 架构演进及DDD架构 近些年来,软件系统架构的发展非常迅速,历经了单体,SOA,微服务等多个框架。笔者在本节做一个简单梳理,并引出领域驱动设计的架构理念。架构起什么作用 首先,我们简单思考一下为什么要有架构?其主要作用是什么? 系统架构定义其组成要素和关系:要素 是 组成架构的重要元素 (Building Block)结构 是 要素之间的关系 (Relationsh原创 2021-07-09 16:54:57 · 514 阅读 · 0 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 二
… 接上文领域驱动设计解决了什么问题呢? 回归本节正题,我们将通过讨论DDD解决开发常见问题上进一步介绍领域驱动设计的特点。回溯前面所提出的软件开发时经常遇到的问题。 问题1:开发人员对业务需求理解不正确 问题2:业务人员或产品人员对需求描述不清晰 对于这两个问题大概是软件开发领域最常见的问题,通常情况下管理者非常希望开发人员和产品人员通过有效沟通来解决这个问题。但是,事与愿违,事实上这个问原创 2021-07-09 16:41:25 · 531 阅读 · 0 评论 -
DDD(Domain Driven Design) 领域驱动设计从理论到实践 一
前言 笔者作为一个数据科学家和数据系统架构师,最近被拉去负责构建业务中台;因此学习了业务系统设计相关技术和方法论。希望把学习所得分享给读者,希望大家指正,感谢! ***“一个设计是一个被创造出来得事物,与之相关的是一个设计过程,我们将此过程称之为设计,不加任何修饰。还有一个动词意义的设计,即进行设计。这三者是紧密相关的,我相信在具体的环境中就不会混淆它们的含义了。”*** — Freder原创 2021-07-06 17:14:22 · 930 阅读 · 0 评论 -
HTTP api & RPC & REST & RESTful & GraphQL
HTTP api & RPC & REST & RESTful & GraphQL摘要五句话,HTTP API就是以HTTP协议为承载的API。RPC style API 一般是指以HTTP协议或其他协议来承载的调用远程方法的API。REST是一种API架构范式,核心围绕着资源,交互的是资源的状态;特点是响应结果可缓存,服务可发现;目标是API长期使用。RESTful API是实现了不同REST约束的API,存在不同的成熟度级别。Graph原创 2020-06-23 11:40:57 · 589 阅读 · 0 评论