摘要: 归并排序(Merge Sort),又称二路归并排序,是指将一个数组一分为二,对每一个子数组递归排序,最后将排好的子数组合并为一个有序数组的过程。归并排序,是“分治法”应用的完美实现。 From Wikipedia:https://en.wikipedia.org/wiki/Merge_sort 1. 阅读全文
posted @ 2018-05-15 00:48 Gerrard_Feng 阅读(1889) 评论(0) 推荐(0)
摘要: 堆排序(Heap Sort),是指将整个数组转化成“堆”这种数据结构,利用堆的性质,去简化排序的过程。堆排序,可以看做是“变治法”的一种实现。 From Wikipedia:https://en.wikipedia.org/wiki/Heapsort 1. 堆 堆是一种特殊的二叉树结构,但是堆总是需 阅读全文
posted @ 2018-05-09 22:40 Gerrard_Feng 阅读(777) 评论(0) 推荐(0)
摘要: 装饰模式: 装饰模式,又称包装模式(Wrapper),其作用在于,动态地为一个类添加职能。 一般来说,为一个类添加额外的功能,第一个想到的应该是使用继承。 在设计时,有这么一条准则:组合优于继承。 装饰模式,就是组合的一种应用,相比继承,它针对类的扩展更具有弹性。 如何理解更具有弹性: 继承而言,子 阅读全文
posted @ 2017-10-07 16:17 Gerrard_Feng 阅读(222) 评论(0) 推荐(0)
摘要: 适配器: 适配器这个东西,我想没什么人会感到陌生,平时我们手机充电的时候,连接插座和数据线的那个“插头”,就是我们口中的适配器。 为什么会需要这个东西呢? 这是由于产品的多样性造成的。在中国,每一个插座提供的电压为220V,而在其他国家,这个标准可能是110V,和中国有所不同。 而不是每个产品,在充 阅读全文
posted @ 2017-10-05 12:00 Gerrard_Feng 阅读(193) 评论(0) 推荐(0)
摘要: 原型模式: 原型模式,是指基于一个已经给定的对象,通过拷贝的方式,创建一个新的对象,这个给定对象,就是“原型”。 在 Java 中,原型模式体现为 Object 的 clone() 方法。 所有类都可以通过实现 Cloneable 接口,以及重写 clone() 方法,来实现原型模式。 代码: 缩减 阅读全文
posted @ 2017-09-26 01:04 Gerrard_Feng 阅读(810) 评论(0) 推荐(0)
摘要: 背景: 最近项目引入了 SonarLink,解决代码规范的问题,在检查历史代码的时候,发现了一个问题。 先看代码: 1 public class DateUtil { 2 3 private static final String DATE_FORMAT_1 = "yyyy-MM-dd HH:mm: 阅读全文
posted @ 2017-09-22 09:33 Gerrard_Feng 阅读(260) 评论(0) 推荐(0)
摘要: Hibernate 版本:3.3.1 背景: 后端编辑一个对象,该对象(ProductDO)下,有一个另一个自定义对象(ProductLiabilityDO)的 OneToMany 关系,如下: 而在 ProductLiabilityDO 对象中,又持有对 ProductDO 对象的 ManyToO 阅读全文
posted @ 2017-09-21 14:52 Gerrard_Feng 阅读(425) 评论(0) 推荐(0)
摘要: Builder: 《Effective Java》 第2条:遇到多个构造器参数时要考虑用构建器。 建造者模式(Builder Pattern),也称生成器模式,定义如下: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 Separate the construction 阅读全文
posted @ 2017-09-19 16:42 Gerrard_Feng 阅读(462) 评论(0) 推荐(0)
摘要: 什么是抽象工厂? 抽象工厂模式,引入了“产品族”的概念。 何为产品族?还是以 设计模式(二)工厂模式:2-工厂方法模式 提到的 Operation 为例。 之前讨论的都是局限于 Operation 这个产品,这是一个由“工厂”做出来的产品,而至于是哪一个工厂做出来的产品,我们并不关心。 抽象工厂模式 阅读全文
posted @ 2017-09-18 17:46 Gerrard_Feng 阅读(265) 评论(0) 推荐(0)
摘要: 模拟场景: 沿用 设计模式(二)工厂模式:1-简单工厂模式 中关于运算器 Operation 的例子。 思想: 针对在 Easy Factory 中提出的,破坏“开-闭原则”的问题,Factory Method 提出了另一种解决方案: 将生产运算器的工厂抽象出来(AbsOperationFactor 阅读全文
posted @ 2017-09-16 23:22 Gerrard_Feng 阅读(231) 评论(0) 推荐(0)