设计模式
天才小熊猫12138584
这个作者很懒,什么都没留下…
展开
-
JAVA的23种设计模式之单例模式
一、饿汉式单例模式 package cn.fllday.single; /** * 饿汉式 单例模式 * @author gssznb */ public class HungrySinglePatterns { // 类进行初始化的时候,就立即加载这个对象。没有延时加载的优势。加载类时,线程是安全的。 private static HungrySinglePatterns inst...原创 2019-02-28 10:57:28 · 436 阅读 · 3 评论 -
JAVA的23种设计模式之享元模式
享元模式(FlyWeight): 场景:内存属于稀缺资源,不要随便浪费,如果有很多个完全相同或相似的对象,我们可以通过享元模式来节省内存。 核心: 享元模式以共享的方式高效的支持大量细粒度对象的重用。 享元模式能做到共享的关键部分是区分了内部状态和外部状态 内部状态:可以共享。不会随着环境变化而变化。 外部状态:不可以共享。会随着环境变化而变化。 每一个棋子都是一个...原创 2019-03-11 16:30:43 · 168 阅读 · 0 评论 -
JAVA的23种设计模式之原型模式
组合模式: 使用组合的场景: 把部分和整体的关系用属性结构来表示。从而使客户端可以使用统一的方式处理部分对象 和整体对象。 组合模式核心: 抽象构建(component)角色:定义了叶子和容器的共同点。 叶子(Leaf)构件角色: 无子节点。 容器(Composite)构建角色: 有容器特征,可以包含子节点 组合模式工作流程分析: 组合模式为处理属性结构提供了完美的解决方案。描述...原创 2019-03-07 16:34:25 · 124 阅读 · 0 评论 -
JAVA的23种设计模式之代理模式
代理模式: 核心作用: 通过代理,控制对对象的访问。 可以详细控制访问某个(某类)对象的方法。在调节这个方法前做前置处理。调用这个方法后做后置处理 (AOP的微观实现)AOP(Aspect Oriented Programming 面向切面编程) 的核心实现机制 核心角色: 抽象角色:定义代理角色和真实角色的公共对外方法。 真实角色:实现抽象角色。定义真实角色所要...原创 2019-03-07 14:13:15 · 158 阅读 · 0 评论 -
JAVA的23种设计模式之外观模式
外观模式: 迪米特法则(最少知识法则):一个软件实体应当尽可能少的与其他实体发生相互作用 外观模式核心: 为子系统提供一个统一入口。封装子系统的复杂性,便于客户端调用 外观模式示例: package cn.fllday.facade; public class 工商局 { public void gongshang() { System.out.println("...原创 2019-03-08 16:24:40 · 186 阅读 · 0 评论 -
JAVA的23种设计模式之装饰模式
装饰器模式: 职责: 动态的为一个对象增加新的功能。 装饰模式是一种用于代替继承的技术,无需通过继承增加子类就能拓展对象的新功能,使用对象的关联关系代替继承关系。更加灵活,同时能够避免类型体系的快速膨胀 实现细节: Component 抽象构件角色: · 真实对象和装饰对象具有相同的接口,这样客户端对象就能以与真实对象相同的方式通装饰对象交互。 ConcreteComponent...原创 2019-03-08 16:05:43 · 191 阅读 · 0 评论 -
JAVA的23中设计模式之组合模式
组合模式: 组合模式工作流程分析: 组合模式为处理树形结构提供了完美的方案。描述了如何将容器和叶子如何进行递归组合,使得用户在使用时可以一致性的对待容器和叶子 当容器对象的指定方法被调用时,将遍历整个树形结构,寻找也包括这个方法的成员。并且调用执行,其中使用了递归调用的机制对整个结构进行处理。 组合模式核心: 抽象构件(component)角色:定义了叶子和容器组件的共同点。 叶子(Le...原创 2019-03-08 14:45:10 · 201 阅读 · 0 评论 -
JAVA的23中设计模式之适配器模式
适配器Adapter模式 什么是适配器模式? 将一个类的接口转换成客户端所希望的另一个接口,Adapter模式使用原本由于接口不兼容而不能在一起工作的那些类可以在一起工作。 模式中的角色: 目标接口(Target):客户所期待的接口,目标可以是具体的或者抽象的类,也可以是接口。 需要适配的类(Adaptee):需要适配的类或者适配者类。 适配器(Adapter):通过包装一个需要适配的...原创 2019-03-08 14:26:54 · 180 阅读 · 0 评论 -
JAVA的23种设计模式之原型模式
原型模式: 通过new 产生一个对象需要非常繁琐的数据准备或者访问权限,则可以使用原型模式 就是Java中的克隆技术,以某个对象为原型,复制出新的对象,显然新的对象具备原型对象的特点。 优势有:效率高于new 方式 克隆类似于new ,但是不同于new, 使用new创建的新对象的属性是采用的默认值。克隆出的对象属性和原型对象相同。并且克隆出的新对象改变不会影响原型对象。然后在修改克隆对象...原创 2019-03-05 16:41:57 · 172 阅读 · 0 评论 -
JAVA的23种设计模式之建造者模式
场景使用: 我们需要建造一个复杂的产品,比如说神州飞船,手机。这个复杂产品的创建,有这样一些问题需要处理: 装配这些组件是不是有一个步骤问题: 实际开发中,我们所需要的对象构建时候,也非常复杂,有很多步骤需要处理 建造者模式的本质: 分离了对象子组件的单独构造,(由Builder来负责)和装配(Direcor)。从而可以构造出复杂的对象。这个模式 适用于:某个对象的构造过程复杂的情况下使用。...原创 2019-03-01 11:24:33 · 221 阅读 · 2 评论 -
JAVA的23种设计模式之工厂模式
工厂模式: 简单工厂模式 工厂方法模式 抽象工厂模式 面向对象设计的基本原则: OCP(开放原则 Open-Closed Principe) : 一个软件的实体应当对拓展开放,对修改关闭。 DIP(依赖倒转原型,Dependence Inversion Principle):要针对接口编程,不要针对实现编程。 LoD(迪米特法则,Law of Demeter):只与你得朋友通信,而避免...原创 2019-03-01 08:04:20 · 277 阅读 · 2 评论 -
JAVA的23种设计模式之责任链模式
责任链模式: 将能够处理同一请求的对象连接成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求。如果能则处理,如果不能则传递给链上的下一个对象。 场景: 打牌时候,轮流出牌。 接力赛跑 大学中,奖学金审批 公司中,公文审批 公司里面,请假条的审批过程: 如果请假天数小于3天,主任审批 如果请假天...原创 2019-03-12 11:31:09 · 263 阅读 · 0 评论