设计模式
与大家分享一下我学习设计模式过程中的笔记
逸川先生
Java开发工程师,专注后台开发两年,擅长分布式系统
展开
-
设计模式 -- 动态代理
动态代理的技术入口就是java.lang.reflect.Proxy类 按照我目前的了解,动态代理是一种AOP编程技术,比如过滤器Filter就是这样的,spring的AOP思想的具体技术就是动态代理,最最主要的就是玩类反射 。 代理其实有静态和动态之分,显然动态的更好啦。比如框架中的框架Sprin里面最为核心的拦截器就是将动变代理成了可配置的方式方便使用。 使用动态代理,需要一个接口,和...原创 2018-09-20 16:36:20 · 136 阅读 · 0 评论 -
设计模式 - 装饰
Component是基础接口 ConcreteComponent是Component的具体实现类,也就是等等要装饰的类 Decorator是装饰类,它实现Component,并且内部维护一个Component,可以使用构造方法来进行初始化 剩下的就是具体的装饰了 装饰模式,也叫包装模式。说白了,装饰就是用来替代继承的一个方案(比如Java中的BufferedReader就是),他可以在...原创 2018-10-26 22:18:46 · 130 阅读 · 0 评论 -
设计模式 -- 监听者
监听者设计模式有三要素:被监听者、监听者、事件对象 大体的过程就是:被监听者提供一个添加监听的方法,监听者要 监听 被监听者 的时候就得提供一个接口的实现。 1.被监听者: 被监听者至少有一个行为是他可以被别人监听到的,这个方法就是下面的talk( ),当执行到这个方法的时候便会通知所有的监听者他执行了这个方法。 package listernDemo2; import java.ut...原创 2018-09-27 17:58:35 · 1600 阅读 · 0 评论 -
设计模式--单例
为了保证了一个类在内存中只能有一个对象而出现的一种设计模式--单例。 思路: 1、如果其他程序能够随意用new创建该类对象,那么就无法控制个数。因此,不让其他程序用new创建该类的对象。 2、既然不让其他程序new该类对象,那么该类在自己内部就要创建一个对象,否则该类就永远无法创建对象了。 3、该类将创建的对象对外(整个系统)提供,让其他程序获取并使用。 步骤: 1、将该类中的构造函数...原创 2018-04-14 10:00:26 · 139 阅读 · 0 评论 -
设计模式--多例
多例设计模式其实就是单例设计模式的变形缓存在编程中使用很频繁,它能够帮助程序实现以空间换取时间,通常被设计成整个应用程序所共享的一个空间,现要求实现一个用缓存存放单例对象的类(也可以说是一个对象池)。假设该缓存中可以存放多个该类对象,每个对象以一个key值标识,key值相同时所访问的是同一个单例对象。将其做成一个能够控制对象个数的共享空间,供整个应用程序使用。在缓存中维护指定个数的对象,每个对象的...原创 2018-04-14 10:12:36 · 267 阅读 · 0 评论 -
设计模式--工厂
Java程序开发讲究面向接口编程,隐藏具体的实现类,可是如何得到接口呢?有两种方式,一种是 类反射 , 另一种就是工厂设计模式:工厂类的命名规范:***Factory单例工厂方法的命名规范:getInstance()工厂的本质是“选择实现”工厂、接口和实现类之间的技术边界:工厂只负责选择实现,实现类才做真正的实现,而接口是限定到底实现什么东西和返回什么东西,三者之间分工明确、各负其责。publ...原创 2018-04-14 10:34:30 · 141 阅读 · 0 评论 -
Java设计思想首部曲
组件封装体设计思想设计思想讲解:对“组件”概念的理解:从设计角度来看,本质上,系统、子系统、模块、组件等这些都是一个组件,只是根据其相对大小而给予的一个称呼。如有的软件项目称为系统,但如果把它整合到一个更大的项目中,那它就被称为一个子系统甚至模块或组件了。如一个类似航天航空那样的大项目,其中的一个小模块比别人的整个系统都要大多少倍。这就好比大公司的一个部门,比别人一个公司的规模还要大得多。组件:能...原创 2018-04-12 17:04:25 · 723 阅读 · 0 评论