Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
函数式编程指南
鲍勃大叔《Clean Code》书籍反对意见的收集
这是各种读者对罗伯特·C·马丁(Robert C. Martin)2008年的著作《清洁
幽默图:升级到Java 8使用函数式编程以后
使用Java Optional类的最佳实践 - oracle
请遵循以下十二种最佳实践,以保护您的应用程序免受丑陋的空指针异常的侵扰,并使您的代码更具可读性和简洁性。每个认真的Java开发人员或架构师都曾经听说过或经历过NullPointerException异常的滋扰。Java工程师一直致力于解决该null问题很长时间,在Java 8中,添加
鲍勃大爷:软件架构类似房子,面向对象是房子的结构,水管线管是函数式编程
软件架构类似房子,这个房子代表一个递归式应用,由顺序、选择和迭代等组成,这个应用被放设计进入一个面向对象的结构中,类似房子设计成三室一厅两厨卫这样的结构,而穿越结构的说水管电线管,这些管线是由函数式编程控制的不变性数据组成。banq注:以DDD为例,聚合结构是一种面向对象设计方式,而
为什么我推荐功能驱动的软件设计方法? - khalilstemmler
功能feature代表了软件设计的基本复杂性。这是无法避免的复杂性。其他所有内容(语言,工具,模式等)都是意外复杂性的一种形式。因此,要编写最简单的代码(无论我们在堆栈的哪一侧),都应该采用功能驱动feature-driven的方法。它影响我们构造项目,编写测试,封装模块和设计功能的方式。<
五种即将消亡的编程语言:Erlang首当其冲 (Chris)
正如一些口头语言逐渐淡出历史一样,编程语言也面临过时和灭绝的风险。尽管它们对开发技术和编码风格的深远影响肯定仍在引起共鸣,但像ALGOL和LISP这样的语言今天却失去了像以前那样享有那么多的知名度和好评。很自然,我们今天使用的某些语言会遵循相同的路径。绝不意味着这些语言将完全消失。将
Java中的七种函数编程技术 - foojay
根据维基百科:函数式编程是一种编程范例-一种构建计算机程序的结构和元素的样式-会将计算视为对数学函数的评估,并避免更改状态和可变数据。因此,在函数式编程中,有两个非常重要的规则 无数据突变:这意味着在创建数据对象后不应更改它。 无隐式状态:应避免隐藏/隐式状态
是时候进行数据优先的前端革命了! 回归MVC? - Kea
早在2015年,在了解React和Redux之后不久,我就爱上了它们背后的函数式编程范例,通过遵循不变性和纯度的一些原则,与诸如Ember或Angular的现代替代品相比,React前端通常编写得更好,更稳定且更易于调试。看了一些函数式编程对JavaScript的作用后,我开始研究当
否定OOP的面向数据编程DOP原理 - Yehonathan Sharvit
本章试图说明据我所知,面向数据编程的核心原理是什么。这在很大程度上取决于我在Clojure的编程经验,但是我认为这些原则与语言无关。可以使用Java或C#等面向对象(OO)语言来遵守它们,而可以使用Ocaml,Haskell,JavaScript(甚至使用Clojure)之类的功能编
用Java编写更好的不可变DTO的技巧 - Seb
为了使用来自外部服务的数据,我们通常将JSON有效负载转换为数据传输对象(DTO)。快速处理DTO的代码变得很复杂,但是一些技巧可以有所帮助。我们可以编写易于交互的DTO,使客户端代码更易于编写和阅读的DTO。这些技巧一起使用,有助于使其保持简单。让我们从使用JSON的典型方法开始:
为什么Dark不选择Rust/Clojure/Haskell/Scala? - darklang
本文来自Dark Lang的创始人兼首席执行官Paul Biggar
Java平台之2021年现状 - James Ward
早在2000年代初期,许多开发人员就被Java过于复杂的世界所吓坏。四种模式和中间件/ J2EE / Java EE的组合导致所谓的脱钩的荒谬程度,从我在2002年研究的开源J2EE电子商务系统的此序列图中可以明显看出:
什么是无副作用的函数方法?如何取名? - Mario
函数名称应描述函数所做的所有事情。换句话说,功能不应隐藏副作用。这符合“最小惊喜原则”。但是,有时候这并不容易。下面函数名词名副其实吗?
Java8中使用函数式接口进行函数式编程示例 - Vinesh
函数式接口Functional interfaces</
为什么Partial是非常有用的TypeScript函数? -Event-Driven
借助reduce函数,它可以做魔术:能在事件溯源EventSourcing中聚合流(事件流)构建当前的聚合状态。首先定义事件类型和聚合数据。我使用电影票预订作为示例用例:
Java中Stream的teeing()方法用于处理合并两个Collector - foojay
什么是teeing()方法?返回一个由两个下游collectors组成的Collector。传递到结果collectors中的每个元素都是由两个下游collectors处理的,然后使用指定的合并merge功能将它们的结果合并到最终结果中。产生的Collector函数执行以下操
学习F#这个优美的语言及F#应用的原创视频推荐
原F# core team成员刘涛开通了中文的Bilibili网站(https://space.bilibili.com/1776257394) !结合中国程序员的背景用
一个Spliterator能实现Stream中元素排序
如果我们有一个List >,每个流都具有排序元素,那么如何生成一个排序后的Stream ,一次从每个流中获取一个?javaspecialists的文章将展示如何使用Stream API并编写我们自己的MergingSortedSpliterator。 <
上页
下页
关闭