Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
refactor重构编程
Builder模式与Java语法
Builder模式是在Java中最流行的模式之一。它很简单,有助于保持对象不可变,并且可以使用Project Lombok的@Builder</
访问者模式的函数式实现
在面向对象的编程中,当需要向现有对象添加新操作时,通常使用访问者模式,但由于设计原因不可能修改对象本身并在实现中直接添加缺少的操作。为此,我们域中的每个对象都必须有一个接受访问者并将自己传递给该访问者的方法,然后必须实现如下所示的接口。
DDD欧洲会议纪要 - 第一天 — Matthias Noback
Eric Evans:主题演讲(“上下文中的语言”):从基础知识开始(单词在上下文中有意义;当我们明确指出这个上下文的边界时,我们最终得到一个有界的上下文),Eric讨论了两个主要的主题:大泥球,以及微服务上下文中有界的上下文。 banq注
对编程技术的热情反而会使我们的工作更糟 · 哲学黑客
这是来自一篇生产实践的经验分享,程序员对技术热情,而不是对业务理解的热情会误导企业软件方向,导致很多挫折和失败,技术不是越新越先进越好,而应该匹配业务领域:“优秀的程序员对他们的工作充满热情”基本上是我们行业的常见现象。总的来说,这可能是真的,但最近我一直对“编程的热情如何妨碍我们为
对单体系统优缺点评判到位:拆分Shopify单体工程的经验分享
Shopify是现存最大的Ruby on Rails代码库之一。它已被超过一千名开发人员使用了十多年。它封装了来自计费商家,管理第三方开发者应用程序,更新产品,处理运输等许多不同功能。它最初是作为整体构建的,这意味着所有这些不同的功能都构建在相同的代码库中,它们之间没有边界。多年来,这种架构
Strangler重写模式
来自Martin Fowler推荐的模式,这是描述重写一个重要系统的方法,Strangler是一种渐进的重写模式,而不是一刀切全部重写发布新版本: 当Cindy和我去澳大利亚时,我们在昆士兰海岸的雨林中度过了一段时间。这个地区的自然奇观之一是巨大的
吐槽“技术债务” - morethancoding
如果你在软件行业工作一段时间,你最终会听到
使用函数式编程重构模板模式
为了实际说明模板模式在哪些情况下有用,我们假设我们有一个类如下的Resource类:
亚马逊是如何实现自动将美国国防部大型机cobol重构到政务云Java?
亚马逊的AWS团队将美国国防部在大型机上运行的COBOL系统成功迁移到基于x86 Red Hat Enterprise Linux(RHEL)的Java系统中:目标是通过利用Amazon Web Services(AWS)来引入敏捷性,降低成本,使技术堆栈现代化并增强安全性。我们使用
用Lambda重构责任模式链
责任链模式是创建处理对象链(例如一系列操作)的通用解决方案。一个处理对象可以做一些工作并将结果传递给另一个对象,然后该对象也做一些工作并将其传递给另一个处理对象,依此类推。 责任链模式:不使用Lambda表达式
使用函数式实现观察者模式模式
观察者模式肯定是最常见和最广泛使用的模式之一。其目的是允许在某个事件发生时通知一个或多个对象并相应地采取行动。这种模式的主要抽象是Listener接口:
使用Lambdas重构观察者设计模式
当某个对象(称为主体)需要在某些事件发生时(例如,状态更改)自动通知其他对象(称为观察者)的列表时,观察者设计模式是一种常见的解决方案。在使用GUI应用程序时,您通常会遇到此模式。您在GUI组件(如按钮)上注册一组观察者。如果单击该按钮,则会通知观察者并执行特定操作。但观察者模式不限于GUI
使用lambda实现装饰者模式 - Voxxed
Decorator模式允许通过使用多个嵌套层包装它来动态扩展现有对象的功能。所有这些层必须实现相同的接口,这样才能组合它们。让我们用一个实际的例子证明这一点:我们需要从年薪总额开始计算工资计算器,并在将其除以12并对其征收一系列税后计算每月净工资。为方便起见,有关这些税收的业务逻辑已
整理你的代码:KonMari风格
如果您曾经使用Netflix,互联网,或者最近与任何人交谈过,您很可能听说过Marie Kondo或“那个整理秀”,即与Marie Kondo一起整理。Marie的方法(KonMari)专注于在整理过程中激发喜悦。 在她的
使用Lambdas重构工厂设计模式
工厂设计模式让我们创建对象而不将实例化逻辑暴露给客户端。例如,假设您正在为银行工作,他们需要一种创建不同金融产品的方式:贷款,债券,股票等。让我们绘制一个类图并编写一些代码来理解Factory Design Pattern,然后使用lambda表达式来删除样板代码。
代码审查清单:Java并发 - Roman Leventov
在Apache Druid社区,我们目前正在准备一份详细的清单,以便在代码审查期间使用。我决定将清单的一部分作为媒体上的帖子发布,以收集更多关于清单项目的想法。希望有人会发
用Lambdas重构策略设计模式
策略模式是表示一系列算法的通用解决方案,并允许您在运行时选择它们。您可以将此模式应用于多种方案,例如使用不同的解析方式或格式化输入来验证具有 不同条件的输入。 策略设计模式:不使用Lambda表达式假设我
用函数范式实现战略模式
战略模式又称为策略模式,其目的是让我们能使用不同但可互换的算法。现在我们在另一个实际例子中使用这种模式。我们想要概括一个流程,该流程在输入中获取文本,使用给定的条件对其进行过滤,并在最终格式化或转换后将其打印在标准输出上。换句话说,我们需要概括2个行为:一个过滤文本,另一个转换它。第一步是将
上页
下页
关闭