博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Groovy 设计模式 -- 借贷
阅读量:6671 次
发布时间:2019-06-25

本文共 1047 字,大约阅读时间需要 3 分钟。

借贷模式

http://groovy-lang.org/design-patterns.html#_loan_my_resource_pattern

The pattern ensures that a resource is deterministically disposed of once it goes out of scope.

This pattern is built in to many Groovy helper methods. You should consider using it yourself if you need to work with resources in ways beyond what Groovy supports.

 

 

模式反例

def reader = f.newReader() reader.splitEachLine(' ') { wordList -> println wordList } reader.close() // => // [ "Mon", "Jun", "18", "22:38:17", "EST", "2007" ] // [ "RunPattern" ]

 

模式正例

def withListOfWordsForEachLine(File f, Closure c) { def r = f.newReader() try { r.splitEachLine(' ', c) } finally { r?.close() } }

Now, we can re-write our code as follows:

withListOfWordsForEachLine(f) { wordList -> println wordList } // => // [ "Mon", "Jun", "18", "22:38:17", "EST", "2007" ] // [ "RunPattern" ]

 

This is much simpler and has removed the explicit close(). This is now catered for in one spot so we can apply the appropriate level of testing or reviewing in just one spot to be sure we have no problems.

 

转载地址:http://hylxo.baihongyu.com/

你可能感兴趣的文章
jvm - 垃圾回收
查看>>
Java基本语法
查看>>
Java命令之javap初探
查看>>
多页项目的webpack配置
查看>>
一次阿里的面试
查看>>
数据库事务隔离级别
查看>>
JSONP跨域以及之前的历史
查看>>
FLEX库在苹果废弃ASL之后的解决方案
查看>>
基于django的视频点播网站开发-step2-搭建环境
查看>>
Qtum量子链与亚马逊AWS中国云服务达成合作
查看>>
Java并发知识点快速复习手册(下)
查看>>
Python urllib HTTP头注入漏洞
查看>>
Spring Boot Tomcat 容器化部署实践与总结
查看>>
消除switch语句以获得更好的代码结构
查看>>
iOS 9上的网页唤醒APP(Universal Links)
查看>>
关于MySQL优化的几点总结
查看>>
div自适应填充剩余宽度的方法
查看>>
Python3 关键字nonlocal和global的用法与区别
查看>>
Wireshark 3.0.0 正式版发布,免费开源的网络数据包分析软件
查看>>
对象引论
查看>>