• 1.领域驱动简介.2.领域.子域.限界上下文.3.上下文映射图


    1.领域驱动简介

    领域驱动本身是一款古老的软件建模思想

    领域驱动两大特性:通用语言.限界上下文

    1.通用语言是一种思想.解释是:团队共享的术语.便于交流.//比如行业的术语或者.一个圈子内通俗的名称如开发者们对Visual Studio 的简称:VS.

    2.限界上下文是整个应用程序之内一种概念性边界.这个边界内的领域术语.词组或句子.都是通用语言.都有确定的上下文含义.//限界上下文就像一个圈.包含了内部的术语.也能和其他限界上下文交互.

    限界上下文和通用语言属于一对一关系.限界上下文能容纳一个独立的业务领域所使用的通用语言.

    注意当整个团队工作在同一个限界上下文中通用语言才是通用.

    虽然我们只工作在一个限界上下文中.但是我们通常需要和其他限界上下文交互.这时候可以通过上下文映射图集成.

    每个限界上下文都有自己的通用语言.但是语言间的通用术语会有很多重叠.

    如果试图将一种通用语言运用在整个企业中.难免会失败.//以燃料为例.汽车的柴油和航空煤油.

    2.领域.子域.限界上下文

    领域是一个团体所做的事和他包含的事物.商业机构通常会确定一个市场.然后在这个市场上销售产品.每个团体都有他的业务范围和行为.这个业务范围就是领域.当你为某个公司开发软件时.你面对的就是这个公司的领域.

    假设物流是一个领域.物流领域应该有四个子域.产品.订单.发票.物流.假设这套领域开始运转.零售商用产品向客户展示.达成购买意向.出现订单.最后生成发票.安排物流.

    产品.订单.发票.物流这四个子域构成了物流领域.

    常规的产品在销售后必应存在需求量大或者小的情况.量大就容易脱销.量小就容易过剩.都会对利润造成损伤.

    所以就需要一个核心域:销量预测系统.通过历史销售记录或者.市场调研等方式.采购正确的数量.

    举个栗子.解释限界上下文中通用语言的含义.

    每一个子域的业务范围就是一个限界上下文.含有通用语言.

    在产品的限界上下文中.客户的含义只需要:购买历史.对此产品的忠诚度.购买能力.

    在下单的限界上下文中.客户含义只需要:名字.购买产品.寄送地址.价格.

    客户在每个限界上下文中属于通用语言.但是只限于此限界上下文使用.

    3.上下文映射图

    一个公司的上下文映射图可以抽象的理解为.一个简单的框图.表示若干限界上下文的映射关系.

    上下文映射图表现的是公司架构当前的状态.可以直白的看出公司中系统的上下游关系.以及平行关系.

    相比传统的开发思想.大泥球.瀑布.领域驱动设计一般采取敏捷.

    系统间明确统一上下游系统交互协议.

    单个系统注意解耦合.

    以物流为例.一位客户浏览产品系统确定订购.首先产品系统和库存系统交互.提供产品.然后产品系统和订单交互生成订单.付款后和发票系统交互生成发票.最后通过物流系统交付客户.最终将此销售记录提交预测系统.

    预测控制产品系统中能展示的用品.

    看起来就像一个金字塔结构.底层的库存系统最庞大.各种用品.

    上一层金字塔产品.只展示有效.能盈利的用品.

    在上一层订单.只有达成购买意向的用品.

    在上一层发票.已经付款的用品.不包含购买后未处理客户就申请退款的用品.

    金字塔顶.双方达成共识.货物交付.

  • 相关阅读:
    Ecshop商品批量上传,内容编码错误 您尝试查看的页面无法显示
    php 数组转化成字符串,并原样还原回数组
    PHP函数 curl_setopt
    <javascript学习笔记> javascript 获得url里参数。
    <yii 框架学习> <转> 关于yii数据库添加新字段之后model类的修改
    <yii 框架学习> 清空数据表
    <javascript学习笔记>javascript 实现隔行变色
    <javascript学习笔记> javascript 检查输入内容的长度。
    <php 代码积累 数组相关>
    <yii 框架学习> yii 框架改为中文提示
  • 原文地址:https://www.cnblogs.com/Gao1234/p/5957245.html
Copyright © 2020-2023  润新知