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

好的优化网站推广公司橘子seo

好的优化网站推广公司,橘子seo,小程序推广50个方法,代理公司注册新公司的费用java 示例这是称为“ Functional Java by Example”的系列文章的第5部分。 在上一部分中#xff0c;我们停止了对文档的变异#xff0c;并返回了数据的副本。 现在#xff0c;我们需要移走一些I / O。 如果您是第一次来#xff0c;最好是从头开始阅读。 它有助于了解我们… java 示例 这是称为“ Functional Java by Example”的系列文章的第5部分。 在上一部分中我们停止了对文档的变异并返回了数据的副本。 现在我们需要移走一些I / O。 如果您是第一次来最好是从头开始阅读。 它有助于了解我们从何处开始以及如何在整个系列中继续前进。 这些都是这些部分 第1部分–从命令式到声明式 第2部分–讲故事 第3部分–不要使用异常来控制流程 第4部分–首选不变性 第5部分–将I / O移到外部 第6部分–用作参数 第7部分–将失败也视为数据 第8部分–更多纯函数 我将在每篇文章发表时更新链接。 如果您通过内容联合组织来阅读本文请查看我博客上的原始文章。 每次代码也被推送到这个GitHub项目 。 将I / O移到外面 还记得我们以前留下的东西吗 class FeedHandler {Webservice webserviceDocumentDb documentDbvoid handle(ListDoc changes) {changes.findAll { doc - isImportant(doc) }.each { doc -createResource(doc).thenAccept { resource -documentDb.update(setToProcessed(doc, resource))}.exceptionally { e -documentDb.update(setToFailed(doc, e))}}}private CompletableFutureResource createResource(doc) {webservice.create(doc)}private boolean isImportant(doc) {doc.type important}private Doc setToProcessed(doc, resource) {doc.copyWith(status: processed,apiId: resource.id)}private Doc setToFailed(doc, e) {doc.copyWith(status: failed,error: e.message)}} 我在本系列的每个部分中开发的示例是某种“提要处理程序”用于处理文档。 处理效果如何 一份或多份文件进来 如果文档“很重要”则将其保存到Webservice API中该API将为其创建并返回资源 如果成功则将文档标记为已处理 如果失败则将文档标记为失败 最终文档将在数据库中更新 Web服务可以是REST服务因为我们在谈论资源 数据库可以是CouchDB或MongoDB的文档存储因为我们在谈论文档 但这并不重要。 重要的是通常在任何系统中都涉及一些I / O输入/输出。 从文件系统读取信息将信息存储到数据库中在Web服务之间通过网络进行通信。 正如我们在上一期文章中所看到的我们希望我们的功能尽可能纯净 没有任何副作用。 不幸的是真正的系统必须与外界交互才能有意义。 我们还如何获取输入到系统中的信息或向用户输出什么呢 I / O的一些示例是 文件系统访问 网络插座 HTTP请求 JDBC操作 启动线程 系统时钟访问 通过将setToProcessed / setToFailed方法上移到调用链上一步我们已经摆脱了对数据库的访问但是它仍然位于FeedHandler 。 我们能做的最好的就是将I / O移到系统外部。 我们可以做的最明显的更改是完全摆脱数据库而只是从handle()返回新的更新文档。 摆脱数据库 更改 .thenAccept { resource -documentDb.update(setToProcessed(doc, resource)) } .exceptionally { e -documentDb.update(setToFailed(doc, e)) } 至 .thenApply { resource -setToProcessed(doc, resource) } .exceptionally { e -setToFailed(doc, e) } 摆脱documentDb 。 我们只是返回所有修改的文档甚至在调用链的更远处。 这就是为什么我们还必须…… …摆脱虚无 从更改返回类型 void handle(...) 至 ListDoc handle(...) 因此处理过的文档会一直返回到外部。 这并不是说我们不再与任何数据库进行任何交互而是不再需要我们的FeedHandler组件 通过将任何I / O移至系统的外围中间的所有内容都可以尽可能地纯净。 还记得Haskell这是一种“纯”功能语言吗 从“ 学到了伟大的Haskell” 事实证明Haskell实际上拥有一个非常聪明的系统来处理具有副作用的功能这些功能将我们程序的纯净部分和不纯净的部分整齐地分开了它完成了所有肮脏的工作例如与键盘和屏幕。 将这两个部分分开我们仍然可以推理我们的纯程序并利用纯净提供的所有功能例如惰性健壮性和模块化同时与外界进行有效的通信。 当它在90年代被发明时它引入了IO monad来处理I / O。 任何函数例如从外部读取都必须使用返回类型IO 该类型实际上是由编译器检查的。 这有一些好处例如Haskell编译器可以自由地重新排序所有非IO代码以进行优化。 从纯函数和I / O 由于纯函数代码就像代数一样因此编译器可以将所有非IO函数视为数学方程式。 这有点类似于关系数据库如何优化查询。 在Java中我们没有针对这些内容的特定编译器支持但是有一些事情我们需要照顾好自己。 记住 void是一个沉Kong。 任何返回void方法要么毫无意义要么具有副作用例如写入显示网络文件或数据库即与外部系统的交互。 代替执行I / O作为副作用而是向调用方返回一个值以描述与外部系统的交互。 现在就这样 翻译自: https://www.javacodegeeks.com/2018/11/functional-java-example-move-outside.htmljava 示例
http://www.yutouwan.com/news/472972/

相关文章:

  • 外贸做网站建设公司百度一下百度下载
  • 商城网站开发实训报告网站制作宣传
  • 包河网站建设网站建设中页面设计
  • 有哪些网站可以做代理wordpress多站模式
  • 好大学网站设计织梦购物网站整站源码
  • 欧美风格网站源码利用花生壳做网站
  • 网站集约建设原因318全讯申请网址
  • 城乡建设门户网站网站服务器是指什么
  • 创客贴网站做海报技能青岛 企业网站建站
  • 以网站做跳板入侵汽车之家汽车报价大全网页版
  • 做一个一般的网站需要多少钱外贸公司网站改版思路
  • 济南网站建设联系方式茂名网站建设系统
  • 网站功能列表网店美工招聘信息
  • 什么是 网站的逻辑结构网页设计免费模板素材
  • 电商网站设计公司立找亿企邦网站代码在哪看
  • 中国建设银行网站功能模块美食网站开发毕业设计
  • 邯郸网站设计邯郸网站制作wordpress表情评论插件
  • 网站下方一般放什么原因aso推广平台
  • 佛山建站佛山网页设计家庭装修设计软件哪个好用
  • 那个网站做h5不要钱软件定制网
  • 淮北发布济南软件优化网站
  • 搭建网站网站建设小程序公众号推广开发
  • 昆明移动端网站建设一个人做两个博客网站
  • 什么样的网站是php网站wordpress设置固定链接打不开
  • 辉县网站建设查看一个网站开发语言
  • seo优化网站优化网站模板 带手机端
  • 广州网站搭建多少钱南昌企业建站模板
  • 深圳网站网页制作公司wordpress 安装插件慢
  • 仿新浪微博网站代码c2c电商网站有哪些
  • 安徽省建设厅网站证书查询ppt制作模板免费下载