随笔-19  评论-2  文章-1  trackbacks-0

<java与模式> ---电子书

17  page245 多例模式

 

 

       当实例数目不多是时候,可以用一个个的静态变量来存储一个个的实例,在数目多是时候需要使用静态聚集存储方式来存储这些实例。

 

问题:怎样用静态聚集存储方式来存储?具体如何实现?

 

 

建造模式(builder

 

 

建造模式(builderpage277

建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象

内部表象—一个产品有不同的组成成分作为产品的零件,这些零件有可以是对象,也有可能不是对象,它们通常又叫做产品的内部表象。

抽象建造者角色:给出一个抽象内部接口,以规范产品对象的各个组成成分的建造,一般而言,该接口独立于应用程序的商业逻辑。

具体建造者角色:担任这个角色的是与应用程序紧密相关的一些类,他们在应用程序调用下创建产品的实例。他的任务:1、实现抽象建造者所有申明的接口,给出一步一步的完成创建产品实例的操作。2、在创建过程完成后,提供产品的实例。

导演者:担任这个角色的类调用具体建造者角色以创建产品对象。

产品角色:产品是焦躁中的复杂对象。

 

下面是一个由两个产品类构成的建造模式结构图: 


20 原始原型模式

 

用意:原始模型模式属于对象的创建模式;通过给出一个原形对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多类型的对象。

 

问题:什么叫不变对象? page314

 

简单形式的原始模型模式:

客户角色:客户类提出创建对象的请求;

抽象原型角色:这是一个抽象角色,通常由一个java接口或java抽象实现,此角色给出所有的具体原型类所需要的接口;

具体原型角色:被复制的对象,此角色需要实现抽象的原型角色所要求的接口。

结构图如下:

 


 

登记式原型模型模式:

增加了一个原型管理器角色:创建具体原型类的对象,并记录每一个被创建的对象。

结构图如下:

抽象原型

具体原型

客户

原型管理器

 

 

 

 

posted on 2005-07-30 21:02 sky 阅读(167) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: