zoukankan      html  css  js  c++  java
  • DDD 理解


    DDD提倡充血模型,业务放在类中,而不是服务中,刚开始是比较不清楚的。
    突然明白,以前开发桌面程序的时候,不就是这样处理了吗?业务分析和代码实现一一对应。因为桌面程序没有数据库,他就是纯粹的面向对象的实现:类有属性,方法,这些又有有私有,公开之分。
    但是基于CURD的Web程序可不是这样了。首先web程序是无状态的,另外它的大部分动作都是读写数据库。这样,都被零零碎碎的session,数据库之类的搞散了,哪里有面向对象的意思呢?
    我们进一步封装,把那些数据库之类的暂时不考虑,我们的代码直接反映业务。大概这就是框架力量所在

    DDD是设计思想,初学面向对象的人,理解DDD就像,刚开始学面向对象的人一样,存在疑惑,并且疑惑更大。
    这主要是没有经历过软件思维训练。
    他们可能会想:我原来的写法挺好的啊,为什么会出来这么一种设计思想呢?
    那是他们还没遇到业务复杂的情况,或者没有思考过这么改进。
    熟练运用面向对象设计之后,在遇到业务分析,自然的会用面向对象的思路架构。DDD也是这样。


    值对象,就是一个值。在C#的类中,一个string 属性,就是值对象。而一个地址,里面包含了省市县字段(无Id),相当于只是一个复杂的属性,也是值对象。

    DDD是分析业务的方法。就像用面向对象的思想去做项目,和面向过程做项目,最大的差别是视角不同,而不是采用的具体技术。

    C语言也可以用面向对象写代码。不会面向对象的人,用C#也写不出来面向对象的程序。

    气功波(18037675651)
  • 相关阅读:
    POJ 1987 Distance Statistics
    mongo 查询
    图解SSH原理_20190613
    Mongo 备份
    地理空间数据
    fiddler 4 抓取 https 设置
    2、动态元素的定位
    1、selenium 8大元素定位方式
    1、Fiddler 打断点 bpu
    2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null
  • 原文地址:https://www.cnblogs.com/qgbo/p/11171549.html
Copyright © 2011-2022 走看看