![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
不曾放弃的只有自己
努力学习,快乐生活,尝试不同的新东西
展开
-
java实现三种代理
设计模式—代理模式java实现 概念解释: 代理是一种设计模式,提供了对目标对象另外的访问方式,即通过代理对象访问目标对象。可以不修改目标对象,对目标对象功能进行拓展 代理模式的实现: 代理模式的实现分为两大类:静态实现和动态实现,动态实现根据实现的方式分为:jdk 动态实现,cglib动态实现 静态实现: 组成部分: ...原创 2019-01-15 14:46:50 · 3520 阅读 · 0 评论 -
设计模式:空对象模式
设计模式:空对象模式 空对象模式简介:一个空对象取代null对象实例的检查,null对象不是检查空值,而是反应一个不做任何动作的关系。这样的null对象也可以在数据不可用的时候提供默认的行为 空对象模式成分: 对象抽象类 package com.fg.java.nullobject; public abstract class AbstractCustomer { prote...原创 2019-02-20 20:26:17 · 492 阅读 · 0 评论 -
设计模式:备忘录模式
设计模式:备忘录模式 备忘录模式简介: 介绍:备忘录模式就是有一个组件,保持对象的某种状态,方便在适当的时候恢复对象。行为型模式 意图:在不破坏封装的前提下,捕获一个内部的状态,并在该对象之外保存这个状态 主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先的状态。 何时使用:我们需要记录一个对象的状态...原创 2019-02-20 19:40:19 · 121 阅读 · 0 评论 -
设计模式:迭代器模式
PS:学了迭代器模式,就知道java的集合框架中迭代器访问的原理,原来我以前想的太复杂了。 设计模式:迭代器模式 迭代器模式简介: 简介:顺序访问集合对象的元素,不需要知道集合对象的底层表示。 意图:提供一种方法顺序访问一个聚合对象中各个元素,而又无须暴露该对象的内部表示。 主要解决:不同的方式来遍历整个整合对象。 使用场景: 访问一个聚合对象的内容而无需暴露它的内部表示。 ...原创 2019-02-18 16:19:15 · 138 阅读 · 0 评论 -
设计模式:观察者模式
设计模式:观察者模式 观察者模式简介: 单例模式:当对象存在一对多关系时,则使用观察者模式(Observe Pattern) 意图:定义对象间的一种一对多的关系,当一个对象状态发生改变的时候,所有依赖于它的对象都得到通知并自动更新 主要解决:使用面向对象基数,可以将这种依赖关系弱化 使用场景一个对象的状态发生改变的时候,所有的依赖对象都得到通知,进行广播通知 注意事项: J...原创 2019-02-12 18:52:22 · 157 阅读 · 0 评论 -
设计模式:抽象工厂模式
设计模式:抽象工厂模式 抽象工厂模式简介: 简介:抽象工厂模式是一种创建型模式,围绕一个超级工厂创建其他工厂。 意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体类 主要解决: 解决接口选择问题 使用场景: 系统的产品有多余一个的产品族,而系统只消灭其中某一族的产品。 抽象工厂模式成分 产品族A,B接口 产品族A,B的实现 工厂抽象方法:包含获取...原创 2019-01-31 11:45:55 · 161 阅读 · 0 评论 -
设计模式:工厂模式
设计模式:工厂模式 工厂模式介绍: 工厂模式是一种创建型模式,在工厂模式中,我们在创建对象的时候不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象 意图:定义一个创建对象的接口,让其子类决定实例化哪个工厂类,工厂模式使其创建过程延迟到子类进行 让其子类实现工厂接口,返回的也是一个抽象产品 使用场景:我们明确地计划不同条件创建实例时。 工厂模式成分: 产...原创 2019-01-30 15:59:19 · 120 阅读 · 0 评论 -
设计模式:命令模式
设计模式:命令模式 命令模式简介 简介:是一种数据驱动的设计模式,根据传入的命令调用不同的执行者。 意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户参数化 主要解决:面对变化多样的软件场景,使用命令模式可以实现解耦 使用场景:认为是命令的地方都可以使用命令模式比如:模拟CMD 命令模式成分 命令接口 命令实现类 命令处理类 命令模式优缺点 优点...原创 2019-02-15 18:36:38 · 98 阅读 · 0 评论 -
设计模式:责任链模式
设计模式:责任链模式 真正让自己提升的不是自己知道多少,而是自己知道多少,并且属于自己的有多少。自己知道的广泛让自己选择的时候考虑更加的全面,自己掌握的让自己实现的时候更加得心应手 责任链模式简介: 简介:为请求创造了一个接受者对象的链。 主要解决:职责链上的处理者负责处理请求,客户只需要将请求发送到职责连上,无需关心请求的处理细节和请求的传递,所以这种模式将请求的发送者和接受者解耦。 ...原创 2019-02-14 16:28:56 · 85 阅读 · 0 评论 -
设计模式:单例模式
设计模式:单例模式 单例模式简介: 单例模式是一种创建型的设计模式,提供了一种创建对象的最佳方式 意图:保证一个类仅有一个实例对象,并且提供一个访问他的全局访问方法 主要解决:一个全局使用的类频繁创建和销毁的问题 使用的场景:需要控制实例的数据,节省系统资源的情况 单例模式成分 私有构造函数 :保证不能通过new等方法创建对象 静...原创 2019-01-28 19:36:34 · 101 阅读 · 0 评论 -
设计模式:模板模式
设计模式:模板模式 模板模式简介: 简介:一个抽象类公开定义了它的方法的方式/模式。它的子类可以按照需要重写方法实现,但调用将以抽象类中定义的方式进行。 意图:定义一个操作中的算法的骨架,而讲义步骤延迟到子类中。 主要解决:一些方法通用,却在每一个子类都重写了这一个方法。 使用场景: 有多个子类公有的方法,且逻辑相同 重要的,复杂的方法可以考虑作为模板方法 模...原创 2019-02-02 16:52:18 · 296 阅读 · 0 评论 -
设计模式:访问者模式
设计模式:访问者模式 访问者模式简介 访问者模式中,我们使用一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。属于行为型模式 意图: 将数据结构和数据操作分离 主要解决:稳定的数据结构和一遍的操作耦合问题。 使用场景: 对象结构中的对象对应的类很少改变,但经常需要在此对象结构上定义新的操作 需要对一个对象结构中的对象进行很多不同...原创 2019-02-02 16:09:04 · 473 阅读 · 0 评论 -
设计模式:适配器模式
设计模式:适配器模式 适配器模式简介 简介:适配器模式是一种结构模式,是作为两个不兼容接口之间的桥梁,它结合两个单独独立接口的功能。 意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使的原本由于接口不兼容而不能一起工作的那些类可以一起工作 主要解决:现存对象放到新的环境中,而新环境要求的接口是现对象不能满足的 使用场景 系统需要使用现有的类,而此类的接口不符合系统的...原创 2019-02-02 11:10:23 · 112 阅读 · 0 评论 -
设计模式:建造者模式
设计模式:建造者模式 解释: 使用多个简单的对象一步一步构建成一个复杂的对象,属于创建型模式,提供一种创建对象的最佳方式。 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 主要解决:解决在软件系统中,有时候面临着一个复杂对象的创建工作,其通常由各个部分的子对象用...原创 2019-01-22 20:06:13 · 86 阅读 · 0 评论 -
设计模式:原型模式
设计模式:原型模式 原型模式简介 原型模式是一种创建型的模式,是用于创建重复的对象,同时又能保证性能。 意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象(浅拷贝和深拷贝) 主要解决:在运行期建立和删除原型 使用场景: 当一个系统应该独立于它的产品创建,构成和表示时 当要实例化的类是在运行时刻指定时,例如通过动态装载。 为了避免创建一个与产品类层次...原创 2019-02-01 15:39:15 · 126 阅读 · 0 评论 -
java 关系名词解析
关系名词解析: 继承: 类继承类或者接口继承接口,而且子类可以添加新的功能 实现: 类实现接口interface 所定义的方法 依赖: 一个类的方法中用到另外一个类,一般依赖关系在java中体现为局部变量,方法参数,或者对静态方法的调用。是一种弱关系: 关联: 是一种强关系,类与类或者类与接口之间的一种强依赖关系,一般以类的属性形式出现在关联类中,在java中关联关系一般使用成员变量实现。...原创 2019-10-08 12:15:31 · 194 阅读 · 0 评论