当前位置: 首页 > news >正文

用iis做网站福建做网站公司排名

用iis做网站,福建做网站公司排名,湖南建设厅网站证书查询,太仓做网站的公司不久前#xff0c;在博客文章中 #xff0c;我解释了Groovy中的Closure。 这篇博客文章将解释一个使用它们的好例子。 最近#xff0c;我发现自己不得不为服务AJAX请求的大量后端Controller API编写相同的异常处理逻辑。 就像这样#xff1a; class ApiRugbyPlayerControl… 不久前在博客文章中 我解释了Groovy中的Closure。 这篇博客文章将解释一个使用它们的好例子。 最近我发现自己不得不为服务AJAX请求的大量后端Controller API编写相同的异常处理逻辑。 就像这样 class ApiRugbyPlayerController {JSON getPlayerStats() {try {...// invoke business service method to get player stats} catch (ServiceException serviceException) {// dont care too much about this.// log and move on... } catch (SessionException sessionException) {// clear out session cookies...// send 403 to client...} catch (Exception ex) {throw new ApiException(ex)}}JSON updatePlayerStats() {try {...// invoke business service method to update player stats} catch (ServiceException serviceException) {// dont care too much about this.// log and move on... } catch (SessionException sessionException) {// clear out session cookies...// send 403 to client...} catch (Exception ex) {throw new ApiException(ex)}}JSON queryPlayerStats(){try {...// invoke business service method to query player stats} catch (ServiceException serviceException) {// dont care too much about this.// log and move on... } catch (SessionException sessionException) {// clear out session cookies...// send 403 to client...} catch (Exception ex) {throw new ApiException(ex)}} } 可以看出这里有一些代码重复。 本着DRY的精神请勿重复最好只定义一次此异常处理逻辑然后重新使用它。 因此我定义了以下实用程序方法该方法实现了异常处理模式并采用了一个闭包该闭包将为其执行异常处理。 private JSON withExceptionHandling(Closure c) {try {...c.call();} catch (ServiceException serviceException) {// dont care too much about this. // log and move on... } catch (SessionException sessionException) {// clear out session cookies...// send 403 to client ...} catch (Exception ex) {throw new ApiException(ex)}} 我们可以通过用{}包围代码来在Groovy中使代码块成为闭包。 这意味着我可以将Controller方法内部的逻辑转换为Closures并将其传递给Utility方法。 而且当我将其传递给实用程序方法时我甚至不需要将其传递到中因为Groovy不会使您满意。 因此这意味着我可以执行所有常见的异常处理消除代码膨胀并且我的Controller API更加整洁。 class ApiRugbyPlayerController {JSON getPlayerStats() {withExceptionHandling {...// invoke business service method to get player stats} }JSON updatePlayerStats() {withExceptionHandling {...// invoke business service method to update player stats} }JSON queryPlayerStats(){withExceptionHandling {...// invoke business service method to query player stats} }private JSON withExceptionHandling(Closure c) {try {...c.call();} catch (ServiceException serviceException) {// dont care too much about this. // log and move on... } catch (SessionException sessionException) {// clear out session cookies...// send 403 to client ...} catch (Exception ex) {throw new ApiException(ex)}} } 所以我们去了。 我们坚持DRY原则避免了代码膨胀并为我们的异常处理提供了专门的场所确信它可以始终如一地实现。 Groovy闭包的这个例子有点像但是就像JavaScript中的第二次调用一样。 如果我们想用Java做类似的事情那将涉及很多代码。 我们可以使用类似命令模式的东西并将它们的执行放入异常处理逻辑中。 您将有更多的去耦但是您有更多的代码。 或者您可以使所有AJAX API输入一个通用方法例如Front Controller但是要在那里输入通用异常。 同样可能但仅需更多代码。 在下一次之前请多保重。 参考 都柏林技术博客博客上的JCG合作伙伴 Alex Staveley 很好地使用了闭包 。 翻译自: https://www.javacodegeeks.com/2014/03/good-use-of-closures.html
http://www.zqtcl.cn/news/83229/

相关文章:

  • 北京 网站建设托管公司外链seo招聘
  • asp网站后台下载怎样建设一个网站赚钱
  • 大专网站建设的论文范文php 用什么做网站服务器吗
  • 微信商城网站方案做流量的网站
  • 公众号链接网站都是怎么做的天津市工程建设公众信息网官网
  • 网站开发实践实验报告毕设做网站是不是太low
  • 郑州网站优化费用网页设计与制作长江职业学院
  • 视频类网站备案网站模板设计教程
  • 国家和住房城乡建设部网站首页淄博网站快照优化公司
  • 广州网站优化效果怎样在文章后做网站链接
  • 怎么查看网站的ftp做网站还要数据库吗
  • 做英文网站需要多少网站内容管理系统怎么用
  • 做网站的时候旋转图片深圳招聘网找工作
  • 俄罗斯外贸常用网站seo建设者
  • 申请主机网站建设工程检测网
  • 城市规划做底图的网站给网站做维护是什么工作
  • 保洁公司在哪个网站做推广比较好智慧团建手机登录端口
  • 专业柳州网站建设价格家用电器网页设计实训报告
  • 什么软件可以做网站html建设银行贵阳市网站电话
  • 犀牛云网站建设遂溪网站建设公司
  • 怎样建设网站流程做品牌网站的
  • 微信分享接口网站开发 php千度seo
  • 厦门哪家网站建设最好怎么做单页竞价网站
  • 个人网站域名备案wordpress签到积分
  • 免费源码资源站数据服务网站开发
  • 可以做水果的团购网站wordpress当面付插件
  • 佛山网站seo推广推荐合肥瑶海区网站建设费用
  • 百度网站如何建设wordpress 搬家 插件
  • 网站设计需求分析程序员做电商网站的公司好吗
  • 人才网网站模板php网站开发结构