摘要: 状态模式 本文主要参考自《大话设计模式》——第16章 1.定义 **状态模式:**当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的情况。把状态的简单逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化 阅读全文
posted @ 2021-01-21 17:46 rider_add 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1.业务背景 在日常开发中,有时会遇到需要对比两个集合来计算出两个集合的交集、差集。以此来决定之后对数据库的insert、delete、update操作。例如,在一些管理系统中配置管理员列表后,如果需要更新管理员列表,需要从前端获取新管理员列表,比对数据库中旧有的管理员列表,然后决定哪些集合需要in 阅读全文
posted @ 2020-11-22 21:39 rider_add 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 继承层级关系 以下内容参考自 "JavaGuide randomaccess接口" 实际上 接口中什么都没有定义。所以,在我看来 接口不过是一个标识。标识什么?标识实现这个接口的类具有随机访问功能。 在 方法中,它要判断传入的list是否 的实例,如果是,调用 方法,如果不是,那么调用 方法。 ja 阅读全文
posted @ 2020-05-22 16:35 rider_add 阅读(150) 评论(0) 推荐(0) 编辑
摘要: Java中的序列化和反序列示例 本文译自 "Serialization and Deserialization in Java with Example" 序列化是一种将对象的状态转换为字节流的机制。反序列化是相反的过程,其中字节流用于在内存中重新创建实际的Java对象。该机制用于持久化对象。 创建 阅读全文
posted @ 2020-05-22 15:40 rider_add 阅读(429) 评论(0) 推荐(0) 编辑
摘要: Cloneable接口、深复制和浅复制 接口 在看 源码时遇到这个接口,所以研究了一下 1. 一个类实现 接口,以指示 方法,该方法对于该类的实例进行现场复制是合法的。 2. 在不实现 接口的实例上调用对象的克隆方法导致抛出异常 3. 按照惯例,实现此接口的类应使用公共方法覆盖 。有关覆盖此方法的详 阅读全文
posted @ 2020-05-22 15:39 rider_add 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式 [TOC] 1.定义 装饰模式:是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案。 装饰模式中的角色: 抽象构件(Component)角色:给出一个抽象接口,以规范准备接受附加职责的对象。 具体构件(ConcreteComponent)角色:定义一个将要 阅读全文
posted @ 2020-04-08 16:36 rider_add 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 原型模式 1.定义 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例创建新的对象,就不再需要关心这个实例本身的类型,只要实现了克隆自 阅读全文
posted @ 2020-04-08 16:34 rider_add 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 外观模式 1.定义 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式又叫做门面模式。 外观模式的简单实现 一个系统可以有几个门面类 在门面模式中,通常只需要一个门面类,并且此门面只有一个实例,换言之它是一个单例类。当然这并不意 阅读全文
posted @ 2020-04-08 16:33 rider_add 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式 [TOC] 1.定义 迭代器模式:提供一种方法,顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 2.迭代器模式在Java中的应用 原本这个模式学习价值还是很大的,但是现在高级编程语言如C ,Java等本身已经把这个模式做在语言中了。 使用迭代器模式在Java中的应用来说明为 阅读全文
posted @ 2020-04-08 16:31 rider_add 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 代理模式 [TOC] 1.定义 代理模式,为其他对象提供一种代理以控制对这个对象的访问。 代理对象在客户端和目标对象之间起到中介作用。 属于结构型设计模式。 2.为什么使用代理模式 代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象, 这样可以在不修改原目标对象的前提 阅读全文
posted @ 2020-04-08 16:29 rider_add 阅读(117) 评论(0) 推荐(0) 编辑