《领域驱动设计》--柔性设计

对于柔性设计这章,说实话读完有种雾里看花的感觉。只学会了作者提供的六种手段,并没有理解其真实意图。既然如此,索性先依葫芦画瓢吧。聊胜于无,学会皮毛也算进步。


1.Intention Revealing Interfaces

简单地说,就是要为方法起个好名字。那么问题来了,什么叫做好名字?就是瞄一眼,就知道它是干什么的。

2.Side-Effect-Free Function

首先定义两个概念:

  • 函数: 不产生副作用的操作,返回值代表了它的产出。可以被调用多次,每次都返回相同的值。
  • 命令: 会产生副作用,会导致对象状态变更。

其中函数不能产生副作用算是老生常谈的话题了,有点经验的程序员应该都明白意思,其实就三字"幂等性"。

3.Assertions

如果使用命令,要在产生副作用的地方使用断言明确标识。方面定位问题。

4.Conceptual Contours

这个概念最抽象,说实话没看懂。

5.Standalone Class

最简单,单例模式也!这里推荐静态内部类单例模式,代码如下:

public class Singleton { 
    private Singleton(){
    }
      public static Singleton getInstance(){  
        return Inner.instance;  
    }  
    private static class Inner {  
        private static final Singleton instance = new Singleton();  
    }  
} 

6.Closure of Operations

闭合操作,也不太懂。强行理解一波,流式编程应该是其实现之一。

StringBuilder builder = new StringBuilder();
builder .append("1").append("2");

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值