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

洛阳网站建设哪个好点网站开发属于购销合同

洛阳网站建设哪个好点,网站开发属于购销合同,网络品牌推广策略,百度公司可以建设网站这是称为“ Functional Java by Example”的系列文章的第5部分。 在上一部分中#xff0c;我们停止了对文档的变异#xff0c;并返回了数据的副本。 现在#xff0c;我们需要移走一些I / O。 如果您是第一次来#xff0c;最好是从头开始阅读。 它有助于了解我们从何处开始… 这是称为“ 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)}} 我在本系列的每个部分中发展的示例是某种“提要处理程序”用于处理文档。 处理效果如何 一份或多份文件进来 如果文档“很重要”则将其保存到Web服务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.html
http://www.zqtcl.cn/news/670111/

相关文章:

  • 徐州网站设计快速排名网站
  • dede手机网站跳转口碑营销平台
  • 开一个素材设计网站怎么做的网页传奇手机版
  • 网站开发后端框架什么意思树莓派3 部署wordpress
  • 站长之家最新域名查询合肥网站建设5k5
  • h5做网站什么软件北京公司注销流程及费用
  • 淮北市相山区建设局网站合肥比较好的网站制作
  • 松岗营销型网站建设公司网站需要服务器吗
  • 图书馆网站信息化建设中国seo第一人
  • 域名网站负责人的责任一键制作单页网站
  • 南宁建设局网站建设有限公司
  • 湛江建设工程交易中心网站企业营销网站建设步骤
  • 网站所有者查询罗湖做网站的公司
  • 网站推广的目标是什么如何提高网站在百度的排名
  • 建设网站基础wordpress 网络图片
  • 深圳网站搜索优化工具义乌公司网站
  • 百度搜索网站带图片sem是什么品牌
  • 百度网盘app下载辽宁seo
  • 一般做网站用什么软件企业管理咨询服务机构
  • 达内培训网站开发金融公司网站 html
  • 珠海网站制作推荐微信营销和微博营销的区别
  • 电影网站如何做5网站建设公司
  • 河南网站优化公司哪家好南山网站设计线
  • 网站构建代码模板番禺网站建设
  • 拟一份饰品网站建设合同网站开发应注意哪些问题
  • 芜湖建站公司做网站的人多吗
  • 网站怎么加二级域名微信授权登录网站退出怎么做
  • 如何把旅行社网站做的好看网站创建方案怎么写
  • 织梦网站图标更换宠物网页设计图片
  • 如何查找网站竞争对手的宣传方式北京网站搭建公司电话