随笔分类 -  设计模式

组合模式
摘要:什么是组合模式: Composite模式也叫做组合模式,是构造型模式。通过递归的手段来构造树形的对象结构。并通过一个对象来访问整个对象树。 角色: Component(树形结构的抽象类) Leaf(叶子节点的抽象) Composite(树形结构的枝节点) 类图: 阅读全文

posted @ 2020-03-30 21:34 笑明子 阅读(148) 评论(0) 推荐(0)

装饰模式
摘要:什么是装饰模式: 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。 角色: 抽象组件角色: 一个抽象接口,是“被装饰类”和“装饰类”的父接口。 具体组件角色:为抽象组件的实现类。 抽象装饰角色:包含一个组件的引用,并定义了与抽象 阅读全文

posted @ 2020-03-30 21:33 笑明子 阅读(119) 评论(0) 推荐(0)

原型模式
摘要:克隆分为深克隆和浅客隆 浅克隆: 基本数值类型:复制对应的值。 引用数据类型:复制引用地址(指像的地址相同)。 调用Object的clone()方法返回的是浅克隆的结果。 深克隆: 引用数据类型:复制内容,开辟新的存储空间,新的引用指向。 如果实现: 1:遍历内容并覆盖 2:再次调用对象的clone 阅读全文

posted @ 2020-03-30 21:32 笑明子 阅读(112) 评论(0) 推荐(0)

享元模式
摘要:什么时享元模式: Flyweight模式是构造型模式,他通过与其他类共享数据来减少内存占用。 角色: 抽象享元角色: 所有享元的父接口,规定享元的共性。 具体享元角色: 抽象享元的具体实现类。 享元工厂: 负责创建和管理享元角色。 类图: 阅读全文

posted @ 2020-03-30 21:31 笑明子 阅读(97) 评论(0) 推荐(0)

外观模式
摘要:什么是外观模式: Facade模式能够为一组类似功能的类群提供一个一致的简单界面。这个界面称为facade。 防止客户端直接使用各个客户端。 角色: Facade:为调用放定义简单的接口。 Clients:调用者。 Package:功能提供者,提供功能的类群,子系统。 类图: 实现: 1:Facad 阅读全文

posted @ 2020-03-30 21:29 笑明子 阅读(100) 评论(0) 推荐(0)

适配器模式
摘要:什么是适配器模式: Adapte‘r模式是一种构造型模式,通过适配器模式可以改变已有类的接口形式。 应用场景: 假设此时,我们要开发一个新功能,与此同时发现,有人已经将这个功能写好了。但是我们的目的是使用自己的。 我们可以开发一个适配器,然后用适配器调用这个写好的功能。当我们自己的开发完成后,只需修 阅读全文

posted @ 2020-03-30 21:28 笑明子 阅读(123) 评论(0) 推荐(0)

桥接模式
摘要:什么是交接模式: Bridge 模式又叫做桥接模式,是构造型的设计模式之一。 Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。 它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立 阅读全文

posted @ 2020-03-30 21:27 笑明子 阅读(138) 评论(0) 推荐(0)

建造者模式
摘要:什么是建造者模式? 1:是一种创建对象的模式。将成员属性的创建单独处理。不同的builder有不同的实现(其实就是不同的工厂,创建属性的工厂) 2: 将成员的初始化交给一个接口去处理。接口使得创建过程千变万化。 3:用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式 阅读全文

posted @ 2020-03-30 21:26 笑明子 阅读(106) 评论(0) 推荐(0)

观察者模式
摘要:什么是观察者模式: Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。 发生变化的对象是被观察者。其他对象是观察者 角色: Subject(被观察者): 当被观察者的状态改变时,需要通知观察者队列中的对象。(被观察者需要维护一个观察 阅读全文

posted @ 2020-03-30 21:25 笑明子 阅读(131) 评论(0) 推荐(0)

工厂模式
摘要:抽象工厂模式怎么理解? 抽象工厂模式,对工厂的抽象。具体实现的工厂可以区分产品族。 抽象水果工厂(获取苹果,获取香蕉) <-- 北方水果工厂(获取苹果[北方苹果] , 获取香蕉[北方香蕉]) <-- 南方水果工厂(获取苹果[南方南方苹果] , 获取香蕉[香蕉]) 抽象工厂负责规范工厂业务,具体实现的 阅读全文

posted @ 2020-03-30 21:24 笑明子 阅读(167) 评论(0) 推荐(0)

单例模式
摘要:单例模式的作用 保证一个类只有一个实例,并且提供访问该实例的全局访问方法。 为什么要用单例模式 1:为了性能考虑。 2:在整个程序空间使用全局变量,共享资源。 几种实现方法: 懒汉式,饿汉式,静态内部类实现 ,枚举实现。(除了) 饿汉式: // 饿汉式可以在多线程中保证单例 public class 阅读全文

posted @ 2020-03-30 21:16 笑明子 阅读(115) 评论(0) 推荐(0)

代理模式
摘要:什么是代理模式: Proxy模式是构造性模式,可以为其他对象提供一种代理,目的是控制这个对象的访问。(你想访问他是不可能的,有什么事情我可以给你转达。虽然我会做一些手脚) 代理和被代理类具有相同的接口(这个接口定义了他们都要做的事情,即:同一个主题),代理类含有被代理的引用。 类图: 动态代理jdk 阅读全文

posted @ 2020-03-30 21:14 笑明子 阅读(114) 评论(0) 推荐(0)

策略模式
摘要:什么是策略模式: 是行为模式之一,如果某一项工作有很多的实现方案,这个时候我们可以使用策略模式。 为所有的方案抽象出一个接口。客户通过多态调用不同的方案。 类图 角色: Strategy 各种策略的抽象。 StrategyA 和 StrategyB 具体的方案 Context 策略类的封装类。放入什 阅读全文

posted @ 2020-03-30 21:13 笑明子 阅读(98) 评论(0) 推荐(0)

导航