<java与模式> ---电子书
第17章 page245 多例模式
当实例数目不多是时候,可以用一个个的静态变量来存储一个个的实例,在数目多是时候需要使用静态聚集存储方式来存储这些实例。
问题:怎样用静态聚集存储方式来存储?具体如何实现?
建造模式(builder)
建造模式(builder)page277
建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象
内部表象—一个产品有不同的组成成分作为产品的零件,这些零件有可以是对象,也有可能不是对象,它们通常又叫做产品的内部表象。
抽象建造者角色:给出一个抽象内部接口,以规范产品对象的各个组成成分的建造,一般而言,该接口独立于应用程序的商业逻辑。
具体建造者角色:担任这个角色的是与应用程序紧密相关的一些类,他们在应用程序调用下创建产品的实例。他的任务:1、实现抽象建造者所有申明的接口,给出一步一步的完成创建产品实例的操作。2、在创建过程完成后,提供产品的实例。
导演者:担任这个角色的类调用具体建造者角色以创建产品对象。
产品角色:产品是焦躁中的复杂对象。
下面是一个由两个产品类构成的建造模式结构图:
第20章 原始原型模式
用意:原始模型模式属于对象的创建模式;通过给出一个原形对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多类型的对象。
问题:什么叫不变对象? page314
简单形式的原始模型模式:
客户角色:客户类提出创建对象的请求;
抽象原型角色:这是一个抽象角色,通常由一个java接口或java抽象实现,此角色给出所有的具体原型类所需要的接口;
具体原型角色:被复制的对象,此角色需要实现抽象的原型角色所要求的接口。
结构图如下:
登记式原型模型模式:
增加了一个原型管理器角色:创建具体原型类的对象,并记录每一个被创建的对象。
结构图如下:
posted on 2005-07-30 21:02
sky 阅读(167)
评论(0) 编辑 收藏