Pandora


  • 首页

  • 分类

  • 归档

  • 标签

Java设计模式(十二)享元模式(Flyweight)

发表于 2017-03-30 | 分类于 Java Core , Java 设计模式 |

介绍

享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。
一提到共享池,我们很容易联想到Java里面的JDBC连接池,想想每个连接的特点,我们不难总结出:适用于作共享的一些个对象,他们有一些共有的属性,就拿数据库连接池来说,url、driverClassName、username、password及dbname,这些属性对于每个连接来说都是一样的,所以就适合用享元模式来处理,建一个工厂类,将上述类似属性作为内部数据,其它的作为外部数据,在方法调用时,当做参数传进来,这样就节省了空间,减少了实例的数量。

阅读全文 »

Java设计模式(十一)组合模式(Composite)

发表于 2017-03-30 | 分类于 Java Core , Java 设计模式 |

介绍

组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便。
使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。

阅读全文 »

Java设计模式(十)桥接模式(Bridge)

发表于 2017-03-30 | 分类于 Java Core , Java 设计模式 |

介绍

桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。
桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化。
像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。

阅读全文 »

Java设计模式(九)外观模式(Facade)

发表于 2017-03-30 | 分类于 Java Core , Java 设计模式 |

介绍

  • 外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口。(我们以一个计算机的启动过程为例)
  • 如果我们没有Computer类,那么,CPU、Memory、Disk他们之间将会相互持有实例,产生关系,这样会造成严重的依赖,修改一个类,可能会带来其他类的修改,这不是我们想要看到的,有了Computer类,他们之间的关系被放在了Computer类里,这样就起到了解耦的作用,这,就是外观模式!
阅读全文 »

Java设计模式(八)代理模式(Proxy)

发表于 2017-03-29 | 分类于 Java Core , Java 设计模式 |

介绍


代理模式就是多一个代理类出来,替原对象进行一些操作。

阅读全文 »

Java设计模式(七)装饰器模式(Decorator)

发表于 2017-03-29 | 分类于 Java Core , Java 设计模式 |

介绍


顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。
实现描述:旧类已经实现了接口,装饰器同样实现该接口,创建一个旧类的对象,作为参数传入到装饰器的对象,调用装饰器类的方法,实现功能增强。
(在不改变旧类代码的前提下,装饰原类的每一个方法,实现功能增强)

阅读全文 »

Java设计模式(六)适配器模式(Adapter)

发表于 2017-03-29 | 分类于 Java Core , Java 设计模式 |

介绍

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。
主要分为三类

  1. 类的适配器模式
  2. 对象适配器模式
  3. 接口的适配器模式
阅读全文 »

Java设计模式(五)原型模式(Prototype)

发表于 2017-03-29 | 分类于 Java Core , Java 设计模式 |

介绍

原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。本小结会通过对象的复制,进行讲解。

阅读全文 »

Java设计模式(四)建造者模式(Builder)

发表于 2017-03-29 | 分类于 Java Core , Java 设计模式 |

介绍

工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。

阅读全文 »

Java设计模式(三)单例模式(Singleton)

发表于 2017-03-29 | 分类于 Java Core , Java 设计模式 |

介绍

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:

  1. 某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。
  2. 省去了new操作符,降低了系统内存的使用频率,减轻GC压力。
  3. 有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。
阅读全文 »
1…8910…13
Jianzhao Chen

Jianzhao Chen

127 日志
21 分类
© 2017 Jianzhao Chen
由 Hexo 强力驱动
主题 - NexT.Mist