首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

单例,多例,修筑者模式总结

2012-12-26 
单例,多例,建造者模式总结单例模式:三个要点:1.某个类只能有一个实例。2.它必须自行创建这个实例;3.它必须

单例,多例,建造者模式总结
单例模式:
三个要点:
1.某个类只能有一个实例。
2.它必须自行创建这个实例;
3.它必须自行向外提供这个实例。

饿汉式:

class Singleton5 {private Singleton5() {}     private static class SingletonHelp {static Singleton5 instance = new Singleton5();}public static Singleton5 getInstance() {    return SingletonHelp.instance;}}


优点:
    资源利用率高,不执行getInstance()不被实例,可以执行该类其他静态方法
缺点:
    第一次加载时反应不够快
=======================================================================================================================================
多例模式:
三个要点:
1.多例类可以有多个实例;
   2.多例类必须自己创建,管理自己的实例;
   3.向外界提供自己的实例。

从java.util.Locale类中可以看到一个非常具体的多例的用法;
并且可以看到在Locale类中,对于实例数目不多的时候,可以使用一个个的静态变量存储一个个的实例。在数目较多的时候,就需要使用静态聚集存储这些实例。  
==========================================================================================================

建造者模式:
 
建造者模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。


优点:
在建造者模式中,客户端不用在直接负责对象的创建,而是把这任务交给了具体的创建者类;把具体的如何组装的责任交给了Director类,客户端之负责对象的调用即可,符合单一职责原则。


缺点:
1.难于应付“产品构造过程”的需求变动。
2.创建者模式比较符合产品差别不大的对象的创建,如果差别很大,就会导致非常多的具体的创建者,这时候最好结合工厂方法模式。

建造者模式的实质:
解耦组装过程和创建具体部件,使得客户端不用去关心每个部件是如何组装的。

建造者模式是为了解决复合对象的创建而生的,建造者模式将复杂对象的构建与对象的表现分离开来,这样使得同样的构建过程可以创建出不同的表现;有利明确各部分的职责目标,有利于软件结构的优化。
构建产品构造过程(算法或步骤)是不变的,变化的是建造者的部分。

热点排行