10 2024 档案
摘要:面向对象程序设计的五大原则 1. 单一职责原则 就一个类而言, 应该仅有一个引起它变化的原因。 如果一个类承担的职责太多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。如果能够想到多于一个的动机
阅读全文
摘要:设计模式 - 策略设计模式 策略设计模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以互相替换。这种模式让算法独立于使用它的客户端。简而言之,策略模式允许在运行时更改算法的行为。 策略模式的组成部分: Context(上下文): 上下文指
阅读全文
摘要:设计模式 - 代理模式 代理设计模式(Proxy Design Pattern) 是创建型设计模式的一种,它提供了一个代理对象来控制对一个真实对象的访问。这个设计模式的主要目的是为了在不需要修改客户端代码的情况下,给某个对象提供一个代替接口。代理模式通常用来实现延迟加载、虚拟代理、远程代理等功能。下
阅读全文
摘要:MongoDB简介 1. NoSQL 简介 NoSQL(Not Only SQL),意思为“不仅仅是 SQL”。通常指的是非关系型数据库。 NoSQL 通常适用于超大规模的数据存储,这是因为关系属性数据并不能很好的处理大规模数据。 NoSQL 数据库常见的主要分为如下两种,也是我们在开发中经常遇见的
阅读全文
摘要:贪心算法案例 - 分发糖果(Hard) 1. 题目描述 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最
阅读全文
摘要:贪心算法案例 - 分发饼干(Easy) 1. 题目描述 有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子可以吃饱? 2. 输出案例 输入两个数组,分别代表孩子的饥饿度和饼干的大小。输
阅读全文
摘要:工厂设计模式 工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,工厂模式的核心是定义一个创建对象的接口,但是让实现这个接口的类来决定实例化哪一个类。工厂模式将实例化的过程延迟到子类中进行。 类型: 工厂设计模式有不同的变种,其中包括: 简单工厂模式:由一个工厂对象来决定创建出哪一个类
阅读全文
摘要:单例设计模式 单例设计模式是一种常见的软件设计模式,它能保证一个类只能有一个实例,并提供一个全局访问的方法。单例设计模式适用于那些需要频繁创建对象然后销毁对象的场景,因为频繁的创建对象会消耗大量的系统资源,使用单例设计模式可以避免对资源的浪费。 单例设计模式特点: 该类在JVM中只有唯一的类实例 它
阅读全文
摘要:动态规划 - 计算最长公共子串问题 题目描述: 给定两个字符串s, t,求字符串 t 在字符串 s 中的最长公共长度,例如字符串 s 为"itheima", t为"thema",则公共字串有"the", "ma", 最长公共子串为"the"。 这种类似的问题有多种解法,今天已动态规划来解决该问题。
阅读全文
摘要:贪心算法案例 - 零钱兑换问题 贪心算法原则: 每一次都选取当前最优解 《向前看,别回头》 案例:(322. 零钱兑换 - 力扣(LeetCode)) 题目描述: 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬
阅读全文
摘要:牛顿迭代法 - 求解非线性方程根的近似解 在算法中,牛顿迭代法主要用于求解非线性方程或优化问题。它是一种迭代算法,通过不断逼近来找到函数的根或者最小化/最大化某个目标函数。 这里呢,我们重点讲一下如何求解线性方程 近似根的大致步骤。 选择一个初始猜测值 : 这个
阅读全文
摘要:微信支付接口接入 微信支付接入文档参考(https://pay.weixin.qq.com/docs/merchant/products/jsapi-payment/preparation.html) 1. 接入前准备 具体步骤如下所示: 1、选择接入模式:普通商户或普通服务商, 官网说明地址:ht
阅读全文
摘要:在微服务开发过程中必不可免的使用远程调用工具,这里以OpenFeign为例来解决跨服务调用时如何携带参数。 其实办法很简单,我们只需要自定义一个拦截器实现Feign 提供的RequestInterceptor接口,使用Spring 提供的RequestContextHolder工具类来获取当前请求的
阅读全文