摘要:将DCI架构总结成一句话就是:领域对象(Object)在不同的场景(Context)中扮演(Cast)不同的角色(Role),角色之间通过交互(Interactive)来完成具体的业务逻辑. 本文分享自华为云社区<实现DCI架构>,作者:元闰子 . 前言 在面向对象编程的理念里,应用程序是对现实世界的抽象,我们经常会将现实中的事物建模为编程语言中的类/对象("是什么"),而事物的行为则建模为方法("做什么").面向对象编程有三大基本特性(封装.继承…
网易新闻App架构重构实践:DDD正走向流行 https://mp.weixin.qq.com/s/FdwrT_xn3CQqpWoRVBttvQ 小智 InfoQ 2020-05-14 作者 | 小智嘉宾 | 李云鹏当前,大多数移动开发团队选择以 MVP 作为业务层的核心架构模型,在此基础上实现了客户端的组件化.插件化.容器化等,但作为业务层核心的 MVP 架构模式至今仍有诸多弊端.网易新闻 App 在领域驱动设计(DDD)思想指导下,对其架构做了整体重构,得到了不错的重构质量与项目收益.移动端…
提出的文章:DCI架构:一个面向对象编程的新图景 http://wenku.baidu.com/view/a7b5e401de80d4d8d15a4fed.html http://www.360doc.com/content/11/0728/01/1542811_136251663.shtml http://www.jdon.com/37976…
“模型.状态和行为特征.场景”和“四象图”,建模观的命名与立象. 建模原语:四象图 作者:achieveidea@gmail.com 命名:模型.结构特征.行为特征.场景(及其规约). 释义:模型,描述事物为一组时间函数,蕴藏了与事物相关的所有事实.特征,从模型上剥离的一组时间函数.特征分为两大类,一类是结构特征,一类是行为特征.场景,模型凝聚相应的特征持续一段时间,描述一段时间内与模型相关的事实.场景中隐藏的一些规则.约定,称之为场景规约. 用法:一笔一纸,一横一竖,四象顿生.一象画景,三象画…
Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级别的详细模型,并将它们彼此结合.测试然后发布到你的开发计划里. 在这个实验中, 我们将重点放在如何创建一系列简单的系统建模图形上. 每个练习应该在 30分钟内完成. Exercise 1 – 理解用户需求 绘制活动.类以及其他UML图形能帮助架构师清晰辨别客户的习惯.业务规则以及其他需求,从而使设计…
目录 UML OPM OPM优化 UML 1997年发布UML标准 主要域 视图 图 主要概念 结构 静态视图 类图 类.关联.泛化.依赖关系.实现.接口 用例视图 用例图 用例.参与者.关联.扩展.包括.用例泛化 实现视图 构件图 构件.接口.依赖关系.实现 部署视图 部署图 节点.构件.依赖关系.位置 动态 状态机视图 状态机图 状态.事件.转换.动作 活动视图 活动图 状态.活动.完成转换.分叉.结合 交互图 顺序图 交互.对象.消息.激活 协作图 协作.交互.协作角色.消息 UML 用例…
1. 报错原因:MySQL的socket文件目录不存在. 解决方法:创建MySQL的socket文件目录 mkdir /application/mysql-5.6.38/tmp 2. 报错原因:socket文件目录没有权限 解决方法:给socket文件目录授权mysql用户的权限 chown -R mysql.mysql /application/mysql-5.6.38/ 3. 报错原因:没有做初始化 解决方法:做初始化 ./mysql_install_db --user=mysql --ba…
本文结合团队在COMMUNITY(社区服务系统)业务建模过程中的实践经验,总结得到一些DDD业务建模的小招数,不一定是完美的,但是对我们团队来说很有效用,希望能帮到其他人.后面会陆续将项目中业务建模的一些经典例子放上来,分享给大家. COMMUNITY系统是线上旧系统,它的建模过程有别于新系统的业务建模.由于背着历史包袱,COMMUNITY的建模过程不是那么纯粹,很容易受到旧代码的影响,陷入代码的细节中,初期举步维艰,靠着小步快跑的方式得到了一些雏形和方法论,后面越来越顺,效果还是不错的. 本文…
引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型.在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式.UL(Ubiquitous Language,通用语言)是团队共享的语言,是DDD中最具威力的特性之一.不管你在团队中的角色如何,只要你是团队的一员,你都将使用UL.由于UL的重要性,所以需要让每个概念在各自的上下文…
引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型.在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式. UL(Ubiquitous Language,通用语言)是团队共享的语言,是DDD中最具威力的特性之一.不管你在团队中的角色如何,只要你是团队的一员,你都将使用UL.由于UL的重要性,所以需要让每个概念在各自的上下…