优雅的Builder模式
Builder模式是GoF中的创建型设计模式中的一种。原来的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。不过现在基本主要都是用于流水接口进行优雅构建。另外,在Groovy这样的动态语言中,是一种简单方便的DSL。下面分别介绍这两种场景。
流水接口
这个例子来源于笔者在做动态页面缓存需求时的一个实现。具体可以参见笔者的另一篇博文:动态页面缓存方案。其中应用控制静态页面的缓存机制可以通过如下两种方式控制:
对于静态的配置,可以使用@CacheControl注解进行配置。
@CacheControl(isPublic = true, maxAge = 300, sMaxAge = 300)
会自动生成:Cache-Co...