设计模式
-
ReactiveCocoa (RAC) 函数响应式编程框架的原理以及配合MVVM设计模式的使用
在iOS开发中,响应式编程变得越来越受欢迎,而ReactiveCocoa(简称RAC)是一个强大的工具,用于实现响应式编程的思想。本文将深入探讨ReactiveCocoa的原理以及…
-
如何在业务代码中优雅的使用责任链模式
责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模…
-
Java并发、异步多线程及Javadump性能分析工具全解
我们之前聊过,一般来说提升系统性能有三板斧,缓存、异步、并行。 缓存主要是为了减少IO,利用RAM提升获取数据速度,一般情况下能解决绝大多数的问题,并且如果缓存框架设计良好,基本上…
-
几种简单的任务调度方案实现
场景 我们在实际开发过程中,有没有遇到这样的场景:用户会提交一些耗时且资源占用较高的任务,比如音视频处理、数据计算、数据处理等,这些任务都需要大量的计算资源。为了解决这个问题,一般…
-
技术总结|十分钟了解Go设计模式
设计模式是软件设计中常见的解决方案,本文介绍两种设计模式类型。(1)创建型模式提供对象创建机制,以提高灵活性和重用现有代码,包括: 单例模式 工厂方法 抽象工厂 建造者模式 原型模…
-
【Java线程基础】01.线程实现方式千万种,为何独终于你一种.md
在程序开发中,并发编程是所有程序员必须掌握的技能,而多线程是并发编程中基础中的基础,要想进一步的写出高性能的Java程序,必须要先实现多线程,才可以继续后续的一系列开发,所以我们本…
-
DDD和贫血模型有什么不同?
不久前,在一次我们内部 DDD 学习小组的会议上,我突然想:如何才能清楚明了的展示 使用贫血模型(anemic model) 和使用 DDD 概念编写应用程序之间的差异呢?我画了一…
-
国庆专栏-架构分层:我们为什么一定要这么做?
什么是分层架构 在软件工程中,分层架构是一种常见的设计方式,它将整个系统划分为多个层次,每个层次都有独立的职责,它们协同工作以提供完整的功能。当我们初次进入编程领域时,通常会学习并…
-
Netty 案例以及实现原理
1.Netty初探 NIO 的类库和 API 繁杂, 使用麻烦,需要熟练掌握Selector、 ServerSocketChannel、 SocketChannel、 ByteBu…
-
适配器模式:如何让不兼容的接口变得兼容
在软件开发中,我们经常会遇到这样的情况:我们需要使用一个现有的类或者接口,但它与我们系统的目标接口不兼容,而我们又不能修改它。这时候,我们该怎么办呢?大多数情况下我们都可以使用适配…
-
不要再使用 @Builder 注解了!
一、前言 曾经,我在《千万不要再随便使用 lombok 的 @Builder 了!》 一文中提到 @Builder 注解的其中一个大坑会导致默认值失效! 最近阅读了 《Oh !! …
-
层层优化重复代码,我又搞了一个通用模板
后端思维 最近工作中,我通过层层优化重复代码,最后抽出个通用模板.因此跟大家分享一下优化以及思考的过程。我会先造一个相似的例子,然后一步步带大家如何优化哈,看完一定会有帮助的。 优…
-
DDD 对决:事务脚本 vs 领域模型,哪个才是业务优化的终极方案?
在 CQRS 架构篇提到,由于 Command 和 Query 内部驱动力完全不同,需要在架构层就进行分离,但其中有个一个原则极为重要: “读”再复杂也是简单; “写”再简单也是复…
-
优化重复冗余代码的8种方式!
前言 日常开发中,我们经常会遇到一些重复冗余的代码。大家都知道重复代码不好,它主要有这些缺点:可维护性差、可读性差、增加错误风险等等。最近呢,我优化了一些系统中的重复代码,用了好几…
-
使用策略模式重构if/elseif/elseif
本文翻译自国外论坛 medium,原文地址:https://medium.com/aia-sg-techblog/refactor-if-elseif-elseif-using-s…
-
头一次见单例模式讲的如此透彻
简介 单例模式是一种常用的软件设计模式,用于创建类型。通过单例模式的方法创建的类在当前进程中只有一个实例。单例模式的类只能允许一个实例存在。单例模式的作用是保证在整个应用程序的生命…