领域建模的重要性
    以数据为中心的应用程序开发,面向过程分析方法的核心在于对数据库的设计。
    而现在以面向对象的方式进行分析(OOA,OOD)时,领域建模就替换了上述方法的地位。在建模的同时,对需求有一个很好梳理作用。也可以发现未捕获的需求及需求描述中错误的需求。(需求和领域建模,是相互促进的两个过程。)

如何建模
    1.首先应该以画图的形式进行建模。
        模型图中,主要是理清模型之间的关系:继承、关联(1对1,1对多,多对多)(关联的含义及方向)。所以一般使用静态建模即可(主要是类图),少部分使用动态图。
        这一步的主要产物是模型图。
    2.对各个模型进行准确的定义。
        定义时,可以使用interface+comment的形式(定义清晰的接口,可以当作文档看待。)。这些接口,在设计阶段,可以作为设计服务接口的基础,项目后期起到框架的作用。
        这一步的主要产物是接口。

其他优点:
    按照以下方法使用代码进行接口建模后,还有利于团队开发:用例接口编写好后,这此接口属于业务逻辑层,其上的表示层开发团队即可根据用例描述进行表示层的开发。而逻辑层的实现和数据层等,也可以分人进行开发。

转载于:https://www.cnblogs.com/zgynhqf/archive/2009/11/21/1607703.html

090609 T 领域建模相关推荐

  1. 3天我把DDD业务领域建模、数据库、聚合彻底撸干净了!

    听说,很多采用了微服务架构也不能的解决问题,都去用 DDD(领域驱动设计) 的思想去指导微服务的实践了. 最近我在和一些开发人员.技术大佬交流,大家有一个普遍的感受: DDD作为一套架构方法,近几年在 ...

  2. 蚂蚁金服对研发高要求的领域建模能力是指什么?

    作者 | 骑着金牛往前走 出品 | 独自慎思 0 前言 最近,由于工作需要,我接触了网商银行的一个项目.项目里对应的业务模型设计,是我工作这三年来见过的所有模型里最复杂的.于是,利用五一这个短暂的假期 ...

  3. 《软件架构设计》学习笔记--6--6大步骤2:领域建模

    分析的还有一种重要产品是领域模型,其目标是使负责该系统基本行为的全部核心类可视. --Grady Booch,<面向对象项目的解决方式> 本篇记录6大步骤中的第二步:领域建模. 包含例如以 ...

  4. 使用Spring Data Neo4j进行领域建模

    大家好,威利在这里. 上次我告诉您,我正在使用Neo4j和Spring Data Neo4j构建Skybase CMDB,我很高兴收到很多对此的积极反馈. 我展示了一些代码,但没有那么多. 在本文中, ...

  5. 领域建模——架构设计的第一步(下)

    领域建模--架构设计的第一步(下) 正如上一篇所述,在领域驱动设计中策略设计侧重于子域的拆分和集成,其结果是合理划分的子域以及它们之间的交互关系.当系统已经被拆分成子域之后,领域驱动设计中的技术维度则 ...

  6. 基于COLA架构创建运输微服务应用和DDD领域建模

    基于COLA架构(Clean Object-oriented and Layered Architecture,整洁面向对象分层架构)和DDD(Domain Driven Design,领域驱动设计) ...

  7. 领域驱动设计-领域建模

    领域建模 领域建模是针对问题空间的战术求解的过程:观察真实世界的业务需求,对业务知识进行提炼和转换,排除技术因素对建模产生的影响,一切围绕着业务需求而来.同时满足未来的需求变更与产品维护 快速建模法: ...

  8. soc 设计soc设计 uml实务手册_企业内训“领域建模和领域驱动设计”训练方案(2020年)...

    ※训练介绍※ 软件开发中,需求是解决"系统怎样好卖"的问题,设计是解决"降低开发成本"的问题.要降低成本,就要尽可能复用已有的各种资源. 目前大多数软件组织的复 ...

  9. 领域建模的思想和方法

    领域模型是作为设计软件对象的启发来源,也是后续工件的必须输入. 领域模型是说明问题域里(对建模者来说)有意义的领域类,它是面向对象分序的时候要创建的最重要的工作(必须说明,用例虽然也是一个重要的分析工 ...

最新文章

  1. oracle11gRAC之log日志体系
  2. python遍历目录树_在Python中遍历目录树的速度要快得多?
  3. Windows安装 ANT
  4. php_self nginx,nginx中的PATH_INFO为什么会影响$_SERVIER['PHP_SELF']
  5. continue break
  6. FaceBoxes的学习笔记
  7. 2022牛客寒假算法基础集训营6 签到题5题(附基础集训营4-6签到题总结)
  8. Python 基金会 —— 模块和包简介
  9. 一周最新示例代码回顾 (4/9–4/15)
  10. Java学习思维导图整理
  11. html5 gif 只播放一次,使用JS和canvas实现gif动图的停止和播放代码
  12. 【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
  13. 工作中常见的开会问题
  14. jQuery---动画
  15. 大数据显示,社交电商已经是美国主流?
  16. 使用describe()查看catering_sale.xls数据的基本情况,通过箱式图检测出catering_sale.xls中的异常值
  17. ZT 分智网博客 – 职场、面试技巧、职业规划
  18. 2013年CISA考试知识点更新解读讲义
  19. LeakCanary 使用
  20. open cyper还是open cypher,李逵or李鬼?

热门文章

  1. ARM Neon 列子 - Vector Add
  2. leftjoin多个on条件_MYSQL|为什么LEFT JOIN会这么慢?
  3. 鸿蒙系统下拉菜单,鸿蒙的js开发部模式17:鸿蒙的系统能力的应用模块
  4. android静默卸载,Android实践 -- Android静默安装和卸载
  5. 计算机网络结构有哪些,计算机网络主要拓扑结构有哪些
  6. l2的最优回归_大白话5分钟带你走进人工智能-第15节L1,L2几何解释和Ridge等回归...
  7. css 模拟器方向_GDS变方向动态循环单剪实验系统VDDCSS
  8. 转,jquery中attr和prop的区别
  9. Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters
  10. 循环链表解决约瑟夫环问题