`
killko
  • 浏览: 102519 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Group-logo
Servicemix&Fu...
浏览量:0
社区版块
存档分类
最新评论

初识领域驱动设计

阅读更多
    以前做系统设计,很自然会往OOAD方面去靠,但总是感觉有些异样:设计的东西到了开发时总是有那么一点半点的东西需要勉强妥协成不那么OO的。

    最近几天,看了一些关于领域驱动设计(DDD)的资料,才知道,原来我所遇上的问题,就是DDD能够帮我解决的问题。

    OOAD是太自由了,设计者可以十分自由地设计出各种各样的类和它们的各种继承、聚合等关系,设计得好不好,完全在于设计者的经验和灵感,甚至是运气。OOAD只是在对象这个层面上提供一定的设计约束。如果没有一些在全局上的、清晰的约束,OOAD可能就象用一堆对象拼凑成一个系统,毫无章法可言。

    今日终于有点开窍了,领域驱动设计除了它在需求分析和设计方法方面的好处外,最大的好处就是给OOAD提供了全局性的设计约束,这些包括分层(UI层、应用层、领域层、基础设施层),也包括领域层中工厂、规约、仓储、服务等。
1
3
分享到:
评论
1 楼 demonkind 2013-02-26  
是的~高内聚,低耦合,威力无穷。

相关推荐

    我们应当怎样做需求分析

    我们应当怎样做需求分析:领域驱动设计 39 我们应当怎样做需求分析:非功能需求 44 我们应当怎样做需求确认:需求列表 46 我们应当怎样做需求确认:一个需求列表的实例 48 我们应当怎样做需求确认:快速原型法 49 ...

    Akka 基础学习pdf中文文档

    内容简介 本书将尝试帮助入门级、中级以及高级读者理解基本的分布式计算概念,并且展示 ...第 8 章 测试与设计:行为说明、领域驱动设计以及 Akka Testkit。 第 9 章 尾声:其他 Akka 特性。下一步需要学习的知识。

    Akka入门与实践

    内容简介 本书将尝试帮助入门级、中级以及高级读者理解基本的分布式计算概念,并且展示 ...第 8 章 测试与设计:行为说明、领域驱动设计以及 Akka Testkit。 第 9 章 尾声:其他 Akka 特性。下一步需要学习的知识。

    Java思维导图xmind文件+导出图片

    领域驱动设计及业务驱动规划 分布式架构的基本理论CAP、BASE以及其应用 什么是分布式架构下的高可用设计 构架高性能的分布式架构 构建分布式架构最重要因素 CDN静态文件访问 分布式存储 分布式搜索引擎 ...

    C教学做一体化教程

    在语法上严格遵守ANSI C标准,在程序设计思想方面强调调模块化思想,在克服难点方面注重结构清晰地安排内容、循序渐进地展开知识,特别强调知识点的能力目标,通过合理的任务驱动和实践环节提高程序设计能力和综合...

    [Android开发权威指南].李宁.扫描版.pdf

     《Android开发权威指南》适合具备一定软件开发经验 想快速进入Android开发领域的程序员 具备一些手机开发经验的开发者和Android开发爱好者学习使用;也适合作为相关培训学校的Android培训教材 目录: 第一部分 ...

    asp.net知识库

    深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP.Net应用程序的多进程模型 NET委托...

    网吧技术培训手册 网管必看

    1.1 初识硬件 5 1.1.1 主板 6 1.1.2 CPU 10 1.1.3 内存 12 1.1.4 显卡 15 1.1.5 机箱 22 1.1.6 电源 23 1.2 硬件组装 27 1.2.1 第一步 安装CPU处理器 27 1.2.2 第二步 安装散热器 31 1.2.3 第三步 安装内存条 33 ...

    网吧技术培训手册

    1.1 初识硬件 5 1.1.1 主板 6 1.1.2 CPU 10 1.1.3 内存 12 1.1.4 显卡 15 1.1.5 机箱 22 1.1.6 电源 23 1.2 硬件组装 27 1.2.1 第一步 安装CPU处理器 27 1.2.2 第二步 安装散热器 31 1.2.3 第三步 安装内存条 33 ...

    锐起网吧技术培训手册网管必备

    1.1 初识硬件 5 1.1.1 主板 6 1.1.2 CPU 10 1.1.3 内存 12 1.1.4 显卡 15 1.1.5 机箱 22 1.1.6 电源 23 1.2 硬件组装 27 1.2.1 第一步 安装CPU处理器 27 1.2.2 第二步 安装散热器 31 1.2.3 第三步 安装内存条 33 ...

    (完整版)计算机应用基础课程标准.doc

    课程的设计思路 《计算机应用基础》课程的总体设计思路是,以全国计算机等级考试一级为大纲,以计 算机应用基础操作能力为中心来组织课程内容,通过实例引入,理论解析,情景模拟等 教学环节,实现教、学、做一体化...

    《计算机应用基础》课程标准【模板】.docx

    课程的设计思路 《计算机应用基础》课程的总体设计思路是,以全国计算机等级考试一级为大纲,以计算机应用基础操作能力为中心来组织课程内容,通过实例引入,理论解析,情景模拟等教学环节,实现教、学、做一体化,...

    LINUX网站建设技术指南

    5.3.5 建立一个简单的领域名字服务器 5.3.6 配置实例 5.3.7 维护工作 5.3.8 拨号网络连线的自动设置 第6章 建立Internet站点 6.1 E-mail服务器的建立 6.1.1 sendmail服务器的设置 6.1.2 在Linux机器上设置pop3...

    自己动手写操作系统(含源代码).part2

    历史上的 Linux就是这么产生的,Linus Torvalds当时是一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件...

    自己动手写操作系统(含源代码).part1

    历史上的 Linux就是这么产生的,Linus Torvalds当时是一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件...

Global site tag (gtag.js) - Google Analytics