090609 T 领域建模
领域建模的重要性
以数据为中心的应用程序开发,面向过程分析方法的核心在于对数据库的设计。
而现在以面向对象的方式进行分析(OOA,OOD)时,领域建模就替换了上述方法的地位。在建模的同时,对需求有一个很好梳理作用。也可以发现未捕获的需求及需求描述中错误的需求。(需求和领域建模,是相互促进的两个过程。)
如何建模
1.首先应该以画图的形式进行建模。
模型图中,主要是理清模型之间的关系:继承、关联(1对1,1对多,多对多)(关联的含义及方向)。所以一般使用静态建模即可(主要是类图),少部分使用动态图。
这一步的主要产物是模型图。
2.对各个模型进行准确的定义。
定义时,可以使用interface+comment的形式(定义清晰的接口,可以当作文档看待。)。这些接口,在设计阶段,可以作为设计服务接口的基础,项目后期起到框架的作用。
这一步的主要产物是接口。
其他优点:
按照以下方法使用代码进行接口建模后,还有利于团队开发:用例接口编写好后,这此接口属于业务逻辑层,其上的表示层开发团队即可根据用例描述进行表示层的开发。而逻辑层的实现和数据层等,也可以分人进行开发。
转载于:https://www.cnblogs.com/zgynhqf/archive/2009/11/21/1607703.html
090609 T 领域建模相关推荐
- 3天我把DDD业务领域建模、数据库、聚合彻底撸干净了!
听说,很多采用了微服务架构也不能的解决问题,都去用 DDD(领域驱动设计) 的思想去指导微服务的实践了. 最近我在和一些开发人员.技术大佬交流,大家有一个普遍的感受: DDD作为一套架构方法,近几年在 ...
- 蚂蚁金服对研发高要求的领域建模能力是指什么?
作者 | 骑着金牛往前走 出品 | 独自慎思 0 前言 最近,由于工作需要,我接触了网商银行的一个项目.项目里对应的业务模型设计,是我工作这三年来见过的所有模型里最复杂的.于是,利用五一这个短暂的假期 ...
- 《软件架构设计》学习笔记--6--6大步骤2:领域建模
分析的还有一种重要产品是领域模型,其目标是使负责该系统基本行为的全部核心类可视. --Grady Booch,<面向对象项目的解决方式> 本篇记录6大步骤中的第二步:领域建模. 包含例如以 ...
- 使用Spring Data Neo4j进行领域建模
大家好,威利在这里. 上次我告诉您,我正在使用Neo4j和Spring Data Neo4j构建Skybase CMDB,我很高兴收到很多对此的积极反馈. 我展示了一些代码,但没有那么多. 在本文中, ...
- 领域建模——架构设计的第一步(下)
领域建模--架构设计的第一步(下) 正如上一篇所述,在领域驱动设计中策略设计侧重于子域的拆分和集成,其结果是合理划分的子域以及它们之间的交互关系.当系统已经被拆分成子域之后,领域驱动设计中的技术维度则 ...
- 基于COLA架构创建运输微服务应用和DDD领域建模
基于COLA架构(Clean Object-oriented and Layered Architecture,整洁面向对象分层架构)和DDD(Domain Driven Design,领域驱动设计) ...
- 领域驱动设计-领域建模
领域建模 领域建模是针对问题空间的战术求解的过程:观察真实世界的业务需求,对业务知识进行提炼和转换,排除技术因素对建模产生的影响,一切围绕着业务需求而来.同时满足未来的需求变更与产品维护 快速建模法: ...
- soc 设计soc设计 uml实务手册_企业内训“领域建模和领域驱动设计”训练方案(2020年)...
※训练介绍※ 软件开发中,需求是解决"系统怎样好卖"的问题,设计是解决"降低开发成本"的问题.要降低成本,就要尽可能复用已有的各种资源. 目前大多数软件组织的复 ...
- 领域建模的思想和方法
领域模型是作为设计软件对象的启发来源,也是后续工件的必须输入. 领域模型是说明问题域里(对建模者来说)有意义的领域类,它是面向对象分序的时候要创建的最重要的工作(必须说明,用例虽然也是一个重要的分析工 ...
最新文章
- oracle11gRAC之log日志体系
- python遍历目录树_在Python中遍历目录树的速度要快得多?
- Windows安装 ANT
- php_self nginx,nginx中的PATH_INFO为什么会影响$_SERVIER['PHP_SELF']
- continue break
- FaceBoxes的学习笔记
- 2022牛客寒假算法基础集训营6 签到题5题(附基础集训营4-6签到题总结)
- Python 基金会 —— 模块和包简介
- 一周最新示例代码回顾 (4/9–4/15)
- Java学习思维导图整理
- html5 gif 只播放一次,使用JS和canvas实现gif动图的停止和播放代码
- 【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
- 工作中常见的开会问题
- jQuery---动画
- 大数据显示,社交电商已经是美国主流?
- 使用describe()查看catering_sale.xls数据的基本情况,通过箱式图检测出catering_sale.xls中的异常值
- ZT 分智网博客 – 职场、面试技巧、职业规划
- 2013年CISA考试知识点更新解读讲义
- LeakCanary 使用
- open cyper还是open cypher,李逵or李鬼?
热门文章
- ARM Neon 列子 - Vector Add
- leftjoin多个on条件_MYSQL|为什么LEFT JOIN会这么慢?
- 鸿蒙系统下拉菜单,鸿蒙的js开发部模式17:鸿蒙的系统能力的应用模块
- android静默卸载,Android实践 -- Android静默安装和卸载
- 计算机网络结构有哪些,计算机网络主要拓扑结构有哪些
- l2的最优回归_大白话5分钟带你走进人工智能-第15节L1,L2几何解释和Ridge等回归...
- css 模拟器方向_GDS变方向动态循环单剪实验系统VDDCSS
- 转,jquery中attr和prop的区别
- Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters
- 循环链表解决约瑟夫环问题