刷新
适配器模式

适配器模式 p...概括:在适配器类 Adapter 中,将现有接口 Adaptee 中的方法作为数据源传入适配器类,然后转换成目标接口 Target 中的方法。如果客户端要调用,那么就调用 Adapter类对象且传入 Adaptee 对象即可。 Target目标接口:定义系统的需求规范 Adapt ...

读函数式编程思维笔记03_权责让渡

博主头像 1. 观点 1.1. 抽象隐藏了繁杂的细节,只是有时候会连同重要的考虑因素一起隐藏掉 1.2. 理解掌握的抽象层次永远要比日常使用的抽象层次更深一层 1.3. 交出控制权的观点:放弃对繁琐细节的掌控,关注问题域,而非关注问题域的实现 2. 函数式思维的好处 2.1. 将低层次细节(如垃圾收集)的控制 ...

系统的混乱并非业务本身之复杂,我们并不擅长处理『简单』

博主头像 一群高智商青年在餐厅吃饭,餐桌上一个瓶盖标识为盐的瓶子里装得是胡椒粉,而标识为胡椒粉的瓶子里装得却是盐,他们想出了一个充满才气的方案来完成对调--仅需要一张餐巾纸、一根吸管和两个空碟子。当他们叫来服务员,准备炫耀他们的天才想法时,只见服务员什么也没说,只是拿起盐瓶和胡椒粉瓶,互换了瓶盖…… 在我们... ...

Redis分布式锁的五大演进攻略

博主头像 本文我们来探讨下如何引入分布式锁解决本地锁的问题。本篇所有代码和业务基于我的开源项目 PassJava。 本篇主要内容如下: 一、本地锁的问题 首先我们来回顾下本地锁的问题: 目前题目微服务被拆分成了四个微服务。前端请求进来时,会被转发到不同的微服务。假如前端接收了 10 W 个请求,每个微服务接收 ...

如何理解这6种常见设计模式?

博主头像 导读:设计模式能够帮助我们优化代码结构,让代码更优雅灵活。有哪些常见的设计模式?如何合理运用?本文分享作者对工厂模式、单例模式、装饰模式、策略模式、代理模式和观察者模式的理解,介绍每种模式的模式结构、优缺点、适用场景、注意实现及代码实现。 ...

读编程与类型系统笔记11_高级类型及其他

博主头像 1. 范畴论 1.1. 范畴论是数学的一个分支,研究的是由对象及这些对象之间的箭头组成的结构 1.2. 函子和单子的概念来自范畴论 1.3. Haskell是一种编程语言,从范畴论中汲取了许多灵感,所以它的语法和标准库很容易表达函子、单子和其他结构的概念。Haskell完全支持高阶类型 2. 函子( ...

万字长文助你上手软件领域驱动设计 DDD

博主头像 最近看了一本书《解构-领域驱动设计》,书中提出了领域驱动设计统一过程(DDDRUP),它指明了实践 DDD 的具体步骤,并很好地串联了各种概念、模式和思想。因此,我对书本内容做了梳理、简化,融入自己的理解,并结合之前阅读的书籍以及实践经验,最终形成这篇文章。希望可以帮助大伙理顺 DDD 的各种概念、... ...

从0到1详解ZooKeeper的应用场景及架构

博主头像 随着计算机系统的规模越来越大,业务量的迅速提升和互联网的爆炸式增长,集中式系统采用大型主机单机部署带来了一系列问题:系统大而复杂、难于维护、发生单点故障引起雪崩、扩展性差等。这些都使业务面临巨大的压力和严重的风险,为了解决集中式系统架构面临的痛点,分布式系统架构逐步走上舞台。分布式系统是一个硬件或软... ...

学习笔记——架构之路

博主头像 2023-01-13 一、基本功 (1)工程结构管理 掌握企业环境的搭建和管理 (2)java开发规范 P3C开发规约 (3)高并发及网络编程 需要考虑性能瓶颈 (4)底层源码分析 二、互联网常用技术——分布式 1、NoSQL数据库:是提升数据访问效率的优先选择。 访问效率的提升:Redis、Mon ...

API 网关的功能用途及实现方式

博主头像 1. API 网关诞生背景 前言 API 经济生态链已经在全球范围覆盖, 绝大多数企业都已经走在数字化转型的道路上,API 成为企业连接业务的核心载体, 并产生巨大的盈利空间。快速增长的 API 规模以及调用量,使得企业 IT 在架构上、模式上面临着更多的挑战。 API 是什么 API 网关是一个服 ...

读编程与类型系统笔记09_泛型数据结构

博主头像 1. 恒等函数 1.1. 在代数中,恒等函数指的是函数f(x) = x 1.2. 恒等逻辑与getNumbers()和assembleWidgets()的问题域解耦,因为恒等逻辑和问题域是正交的,或者说是独立的 2. 类型参数 2.1. 将不同函数的区别,即它们的实参类型参数化 2.2. 一个泛型名 ...

读编程与类型系统笔记08_面向对象变成的元素

博主头像 1. 面向对象编程 1.1. (Object-Oriented Programming,OOP) 1.2. 基于对象的概念的一种编程范式 1.3. 对象可以包含数据和代码 1.4. 数据是对象的状态 1.5. 代码是一个或多个方法 1.5.1. 消息是方法,包括名称、实参和返回类型 1.6. 通过使 ...

读编程与类型系统笔记07_子类型

博主头像 1. 子类型 1.1. 在期望类型T的实例的任何地方,都可以安全地使用类型S的实例,则类型S是类型T的子类型 1.1.1. 里氏替换原则(Liskov substitution principle) 2. 名义子类型 2.1. 明确指定 2.2. 显式声明一个类型是另一个类型的子类型 2.3. 大部 ...

大牛架构师珍藏的10条编程原则

博主头像 程序员拥有一个较好的编程原则能使他的编程能力有大幅的提升,可以使其开发出维护性高、缺陷更少的代码。以下内容梳理自StactOverflow的一个问题:编程时你最先考虑的准则是什么? ...

基于AWS云SaaS多租户架构设计

博主头像 基于AWS云SaaS多租户架构设计租户与用户概念单租户与多租户多租户的好处 采用多租户架构方法将为你的SaaS应用程序带来广泛的有价值的好处。 让我们来看看下面的贡献。 a) 利用多租户架构策略,减少服务器基础设施成本。 与其为每个客户创建一个SaaS环境,不如为所有客户提供一个应用环境。这使你的A ...

浅谈服务接口的高可用设计

博主头像 作为一个后端研发人员,开发服务接口是我正常不过的工作了,这些接口不管是面向前端HTTP或者是供其他服务RPC远程调用的,都绕不开一个共同的话题就是“高可用”,接口开发往往看似简单,但保证高可用这块实现起来却不并没有想想的那么容易,接下来我们就看一下,一个高可用的接口是该考虑哪些内容,同时文中有不足的... ...

读编程与类型系统笔记06_函数类型的高级应用

博主头像 1. 装饰器模式 1.1. 扩展对象的行为,而不必修改对象的类 1.2. 装饰的对象可以执行其原始实现没有提供的功能 1.3. 优势 1.3.1. 支持单一职责原则 1.3.1.1. 每个类只应该承担一种职责 1.4. 经典实现 1.4.1. 一个IComponent接口 1.4.2. 一个具体实现 ...

<1···363738···50>