23种设计模式
lijieshare
这个作者很懒,什么都没留下…
展开
-
设计模式之适配器(变压器)模式
适配器(变压器)模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。 中国市电220V,如果买个国产笔记本去国外,国外电压110V如何使用呢?幸好有了笔记本电源适配器帮忙 /** * Created by IntelliJ IDEA. * Date: 2008-8-...2016-08-21 09:34:30 · 168 阅读 · 0 评论 -
【JAVA 之动态代理(二)】
永久链接: http://gaojingsong.iteye.com/blog/2285271 预览文章: 设计模式之代理模式 JDK内置的Proxy动态代理可以在运行时动态生成字节码,而没必要针对每个类编写代理类。中间主要使用到了一个接口InvocationHandler与Proxy.newProxyInstance静态方法,参数说明如下: Proxy这个类的作用就是用来...2017-09-20 20:15:32 · 79 阅读 · 0 评论 -
【JAVA 之动态代理(一)】
永久链接: http://gaojingsong.iteye.com/blog/2285271 预览文章: 设计模式之代理模式 静态代理类优缺点 优点:业务类只需要关注业务逻辑本身,保证了业务类的重用性。这是代理的共有优点。 缺点: 1)代理对象的一个接口只服务于一种类型的对象,如果要代理的方法很多,势必要为每一种方法都进行代理,静态代理在程序规模稍大时就无法胜任了...2017-09-20 20:01:48 · 78 阅读 · 0 评论 -
桥接模式
核心意图:将抽象部分和实现部分分离,使它们都可以独立的变化。解决了继承关系的复杂性。该模式的目标是通过把高层的抽象和底层的实现分开,分别构建自己的类层次结构,并通过实现部分的接口将两部分进行桥接,从而达到高层抽象和底层实现可以独立的方便扩展的目的。其核心是分离,和委托。 一句话 将抽象和行为划分开来,各自独立,但能动态的组合。 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度...2016-04-04 19:15:45 · 84 阅读 · 0 评论 -
【Reactor模式介绍】
Reactor简介 Reactor是一个基础库,用在构建实时数据流应用、要求有容错和低延迟至毫秒、纳秒、皮秒的服务。 高效的含义是什么呢? 传递一个消息从A到B时GC产生的内存很小或者完全没有。 当消费者处理消息的速度低于生产者产生消息的速度时产生了溢出时,必须尽快处理。 尽可能的提供无锁的异步流。 The reactor design pattern is an eve...2017-06-15 22:23:12 · 105 阅读 · 0 评论 -
设计模式之代理模式
代理模式就是代替处理,类似电视剧当中的替身,现实生活中的代理商。 多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法。 代理模式实现:代理类和被代理类都必须具有同一接...2016-03-21 20:41:45 · 80 阅读 · 0 评论 -
设计模式之装饰模式
你站在桥上看风景 看风景的人在楼上看你 明月装饰了你的窗子 你装饰了别人的梦 装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口。动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 代码: 共同接口 public interface Sourceable { public void metho...2016-03-21 20:22:29 · 65 阅读 · 0 评论 -
【设计模式之单例模式】
1、单例模式的好处: 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数, 有利于Java垃圾回收(garbage collection)。 2、单例模式的特征 构造函数私有化,不能产生对象,所以只能用类名调用,所有只能是静态函数。 3、代码编写 第一种(懒汉,线程不安全) public class Singleton { ...2016-03-17 19:56:43 · 77 阅读 · 0 评论 -
工厂模式PK 工厂变种模式
// 产品接口 public interface Product { public void getName(); } // 具体产品A public class ProductA implements Product { public void getName() { System.ou...2016-03-07 20:54:32 · 124 阅读 · 0 评论 -
【观察者模式】的故事来源(Observer Pattern)
(《芈月传》是由东阳市花儿影视文化有限公司出品的古装剧,由郑晓龙执导,孙俪、刘涛、马苏、方中信、黄轩、高云翔等主演。 讲述了中国历史上第一个女政治家芈月极为曲折传奇的人生故事,每当有新的剧情更新时候,即剧情更新后,那些热爱观看的观众就会立马得到信息进行观看【收到通知】)观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两...2016-01-02 16:51:37 · 210 阅读 · 0 评论 -
【策略模式】的故事来源(StrategyPattern)
策略模式(Strategy),又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 策略模式中有三个对象: (1)环境对象:该类中实现了对抽象策略中定义的接口或者抽象类的引用。 (2)抽象策略对象:它可由接口或抽象类来实现。 (3)具体策略对象:它封装了实现同不功能的不同算法。 利用策略模式构建应用程序,可以根据用户配置等内容,选择不...2016-01-01 14:05:03 · 132 阅读 · 0 评论 -
23种设计模式知多少
Java设计模式分为创建模式, 结构模式, 行为模式 3种类型: Java设计模式之创建模式包括: Factory, 工厂模式 Singleton, 单例模式 Builder, 建造模式 Prototype, 原型模式 Java设计模式之结构模式包括: Facade, 门面模式 Decorator, 装饰模式 Compo...2015-12-31 20:01:55 · 68 阅读 · 0 评论 -
【设计模式之六大设计原则】
1、单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。-->避免出现上帝类 2、开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 ...2016-11-21 20:12:15 · 82 阅读 · 0 评论 -
【CQRS 命令查询职责分离模式介绍】
CQRS stands for Command Query Responsibility Segregation. The mainstream approach people use for interacting with an information system is to treat it as a CRUD datastore. By this I mean that we ha...2017-03-04 17:48:55 · 177 阅读 · 0 评论