美文网首页
重构加深理解

重构加深理解

作者: Joker____ | 来源:发表于2018-07-29 11:51 被阅读0次

突破

何为突破,DDD的实践过程是渐进式的。你的重构与回报不是呈线性关系的。通常会在具体的某个点会出现一个飞跃。这个飞跃很有意义,同时也充满了危险


隐式概念->显式概念

何为隐式概念
就是需求中关注的部分,但是在你的结构中没有体现这一部分。这部分概念就被隐藏起来了。

如何发现隐式概念

  1. 与领域专家探讨
  2. 思考领域的矛盾部分
  3. 查阅书籍验证模型
  4. 发现一些约束

什么需要被转换成显式

  1. 特定的领域概念
  2. 约束条件
  3. 领域关键过程

Tips
何时约束需要单独提取成一个类

  1. 计算约束的数据从定义上并不属于这个对象
  2. 相关规则在不同的类中重复出现
  3. 很多设计和需求谈论都围绕这些约束,而这段代码隐藏在过程代码中

柔性设计

目的
方便重构,方便开发人员开发

方式

  1. 命名需要表意
  2. 方法无副作用(不需要一层一层的观察它的行为)
  3. 可以使用断言明确表示
  4. 低耦合
  5. 闭合操作(返回类型与参数类型相同)

设计模式在模型中的应用

从代码层面它是技术设计模式,从模型上看它是概念模型。

策略模式
通过策略模式分离不同的概念。侧重点在表示概念的能力。

组合模式
使用组合模式可以根据业务组合不同的对象。


重构加深理解

关注3个点

  • 以领域为本
  • 用一种不同的方式看待事物
  • 始终坚持与邻域专家对话
    因为模型与领域不同才会开始领域的重构。

何时重构

  1. 设计没有表达团队对领域的最新理解
  2. 重要的概念被隐藏在设计中
  3. 发现一个能令某个重要的设计部分变得更灵活的机会

相关文章

  • 重构加深理解

    突破 何为突破,DDD的实践过程是渐进式的。你的重构与回报不是呈线性关系的。通常会在具体的某个点会出现一个飞跃。这...

  • 《教师成长力》第二周阅读作业——重新理解阅读

    内容概述 阅读,能加深理解,改变理解,重构理解。在今天,对阅读也,需要重新理解,重新理解阅读对教师专业发展的价值和...

  • 加深理解Optional

    Swift语言很重要的一个特征就是加入了Optional,刚接触时Optional的理解就是一个可能为nil的变量...

  • 重构

    为何重构? 1.重构改进软件设计 2.重构使软件更容易理解 3.重构帮助找到bug 4.重构提高编程速度 何时重构...

  • leetcode 102. 二叉树的层次遍历

    加深理解。

  • 《重构》一书经典总结(一)

    《重构》一书经典总结(一) 为何重构 1.重构改进软件设计2.重构使软件更容易理解3.重构提交稿编程速度4.重构帮...

  • DCG的加深理解

    具体运行结果大家可以写写看看,我总结一下自己的理解。 同步操作:都不会开启新的线程,所有操作都在当前主线程中完成,...

  • 分类可以加深理解

    大家可能注意到过,我们国家是有核心价值观的,想一想是很多二字词语的组合,只是这个价值观字数比较多,难以方便的记住。...

  • 顺势学习,加深理解

    风娃娃教学反思 《风娃娃》是人教版二年级上册的一篇浅显易懂的优美的童话故事,语言生动活泼 ,富有儿童情趣,。我 采...

  • 20181104-Chapter02

    重构 目的:使软件容易被理解和修改。 事不过三、三则重构

网友评论

      本文标题:重构加深理解

      本文链接:https://www.haomeiwen.com/subject/snyzmftx.html