• DDD框架基础知识


    DDD框架基础知识

    参考:

    https://www.cnblogs.com/zhili/p/OnlineStorewithDDD.html(领域驱动设计,分层架构)

    https://www.cnblogs.com/zhili/p/SpecificationPattern.html(规约,后续研究)

    一.什么是DDD?

     DDD是Domain Driven  Design的缩写,是通过建立领域模型解决复杂领域问题。是一种编程思想,方便业务人员及开发人员与领域专家的交流。

    二.什么是领域?

    领域指的就是某一产品或某一系统,比如:论坛,电商,医疗,物流等,都各自属于一个领域,通过与领域专家交流,了解当前领域中的业务及可能存在的问题域并解决即可。

    三.什么是设计?

    在DDD中领域模型设计是核心,通过设计领域模型来解决复杂的领域问题。领域模型

    四.什么是驱动?

    四.DDD如何分层?

     DDD可以看作是一个四层架构:基础设施层,领域层,应用层,用户界面层,相互协助解决领域问题。

    用户界面层:可以有mvc,webform,webapi,控制台,winform等,提供界面展示及请求响应渲染。

    应用层:不包含任何业务逻辑,是用户界面层与领域层的桥梁,WCF就在该层。

    领域层(核心):包含领域对象(实体,值对象),领域事件,领域服务,规约,工厂,接口,仓储接口等,重点就是领域对象。

    领域对象:

    1.实体,值对象

    2.聚合根(聚合根也是实体,但与实体不同的是,聚合根是由实体和值对象组成的系统边界对象),聚合

    根据面向接口编程原则,我们在领域模型中应该定义一个实体接口和聚合根接口,而因为聚合根也是属于实体,所以聚合根接口继承于实体接口

    实体可以认为对应于数据库的表,而值对象一般定义在实体类中。

    基础设施层:

    1.提供通用的框架(缓存,日志,事务处理等)

    2.仓储实现(也可以单独一个层【仓储层】)

    三.

  • 相关阅读:
    质因数分解
    P1939 【模板】矩阵加速(数列)
    UVALive
    Python操作MySQL:pymysql模块
    Mysql数据库基础
    Redis管道和发布订阅
    Redis常用操作
    Redis操作集合,有序集合
    Redis操作list
    Redis操作hash
  • 原文地址:https://www.cnblogs.com/zlp520/p/12027329.html
Copyright © 2020-2023  润新知