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

初识领域驱动设计

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

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

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

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

相关推荐

    DDD架构思想专栏一《初识领域驱动设计DDD落地》

    DDD架构思想专栏一《初识领域驱动设计DDD落地》

    初识Python程序设计的顺序结构和循环结构.doc

    初识 Python 程序设计的顺序结构和循环结构 本资源摘要信息涵盖了 Python 程序设计的顺序结构和循环结构,旨在帮助学生初步掌握程序设计的基础知识。通过学习本课程,学生将了解算法思想、程序设计的顺序结构和循环...

    第1课初识计算机.pdf

    3. 存储设备:硬盘驱动器(HDD)或固态驱动器(SSD)用于长期存储数据。 4. 输入设备:例如键盘和鼠标,用于向计算机输入指令。 5. 输出设备:显示器、打印机等,用于显示结果。 6. 主板:连接所有硬件组件,提供...

    初中信息技术川教七年级上册-走进Python的世界《-初识Python》教学设计.docx

    《初识Python》的教学设计旨在引导七年级学生进入Python编程的世界,这是一门结合理论与实践的信息技术课程。首先,我们需要了解Python作为一种编程语言的重要性和背景。Python以其简洁明了的语法,广泛应用于数据...

    初识人工智能说课课件.pptx

    本资源摘要信息主要围绕人工智能的基本概念、应用领域、智能算法和价值观念等方面,对初识人工智能的教学目标、教学重点、教学难点和教学过程进行了详细的分析和设计。 教学目标 本节课的教学目标主要有三个方面:...

    计算机导论-初识计算机

    ### 计算机导论-初识计算机 #### 教学内容概览 本课程旨在为初学者提供全面且深入的计算机基础知识介绍。通过五个章节的内容讲解,帮助学生理解计算机的发展历程、分类特点、发展趋势以及广泛应用领域。接下来,...

    初中信息技术初识Photoshop教学设计说明.doc

    导入阶段通过展示明星合成照片引起学生兴趣,新授阶段介绍Photoshop的背景和应用领域,实践环节让学生亲自动手操作,通过实际操作掌握工具的使用。 总的来说,这门课程旨在让学生在实践中探索和理解Photoshop的基本...

    《初识计算机系统》学习心得.pdf

    杨立明老师的《初识计算机系统》课程,通过实践操作与理论知识的结合,通过任务驱动和个性化教学,促进学生全方位发展。这种教学方法极大地提升了我的学习积极性,培养了我自主学习的能力和问题解决能力。这样的教学...

    《初识人工智能》教案.doc

    教学方法:任务驱动法、启发法。 课时安排:1课时。 教学过程: 〔一〕 创设情境导入新课教师活动:播放关于人工智能的视频,提问:1、什么是智能? 2、什么是人工智能?判断人工智能的条件是什么? 学生活动:...

    初识PLC-PLC编程软件的使用共21页.pdf.zip

    这篇21页的PDF文档,"初识PLC——PLC编程软件的使用",旨在引导读者了解并掌握如何运用PLC编程软件进行系统设计与调试。以下将详细阐述PLC的基本概念、功能以及常用编程软件的使用方法。 1. PLC的基本概念: PLC最...

    初识PLC-PLC工作原理共9页.pdf.zip

    初识PLC,首先要理解它的基本概念和工作原理。 PLC最早是在20世纪60年代为了替代继电器控制系统而诞生的。与传统的继电器系统相比,PLC具有体积小、可靠性高、编程灵活、维护方便等优点。它通过读取输入设备的状态...

    易语言驱动开发教程(baby)

    在第一课中,"初识易语言写驱动",你将了解到驱动程序的基本概念,它是操作系统与硬件设备之间的桥梁。驱动程序负责解释硬件的指令,使得操作系统能够更好地管理和控制硬件。易语言虽然主要用于用户界面和应用程序...

    八年级上册信息技术-4课-初识python教案.docx

    Python是一种高级编程语言,以其简洁易读的语法特性被广泛应用于教育领域,尤其是初学者入门编程的理想选择。 【知识目标】 1. 初步了解Python编程环境:Python提供了一个集成开发环境(IDE),如IDLE,它具有交互...

    04-初识Verilog HDL.pptx

    Verilog HDL是一种广泛使用的硬件描述语言,特别适用于FPGA(Field Programmable Gate Array)和ASIC...通过不断学习和实践,开发者可以逐步掌握这一强大的硬件描述语言,从而在FPGA和ASIC设计领域游刃有余。

    01 初识HarmonyOS.pdf

    总的来说,HarmonyOS通过其独特的分布式技术,旨在构建一个全场景、全连接的智慧生活,不仅为用户提供流畅一致的体验,也为开发者提供了一个全新的开发平台,推动移动开发领域的创新和进步。随着HarmonyOS生态的不断...

    每天学点C++(C++实例教程:教程+源码)01C++初识.zip

    C++是一种强大的、通用的编程语言,被广泛应用于系统软件、应用软件、游戏开发、设备驱动程序、实时软件等各个领域。"每天学点C++"的实例教程旨在帮助初学者逐步理解并掌握C++的基本概念和编程技巧。通过源码的学习...

    我们应当怎样做需求分析

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

Global site tag (gtag.js) - Google Analytics