摘要:
享元(Flyweight)模式 模式定义:运用共享技术有效地支持大量细粒度的对象。 优点:如果系统中有大量类似的对象,可以节省大量的内存以及CPU资源。 缺点: 为了使对象可以共享,需要将一些不能共享的状态外部化,这将增加程序的复杂性。 读取享元模式的外部状态会使得运行时间稍微变长。 数据共享要考虑 阅读全文
摘要:
原型(Prototype)模式 模式定义:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。 1:Cloneable接口/Object#clone方法 2:浅拷贝/深拷 阅读全文
摘要:
建造者模式(Bulider模式) 模式定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 该模式的主 阅读全文
摘要:
抽象工厂模式(Abstract Factory) 模式定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产同一个等级的产品,而抽象工厂模式可生产多个等级的产品。 阅读全文