本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用
5. 参与者
B u i l d e r(Te x t C o n v e r t e r)—为创建一个 P r o d u c t对象的各个部件指定抽象接口。
C o n c r e t e B u i l d e r(A S C I I C o n v e r t e r、Te X C o n v e r t e r、Te x t Wi d g e t C o n v e r t e r)—实现 B u i l d e r的接口以构造和装配该产品的各个部件。—定义并明确它所创建的表示。—提供一个检索产品的接口(例如, G e t A S C I I Te x t和G e t Te x t Wi d g e t)。
Director(RT F R e a d e r)—构造一个使用 B u i l d e r接口的对象。
P r o d u c t(A S C I I Te x t、Te X Te x t、Te x t Wi d g e t)—表示被构造的复杂对象。 C o n c r e t e B u i l d e r创建该产品的内部表示并定义它的装配过程。 —包含定义组成部件的类,包括将这些部件装配成最终产品的接口。
6. 协作
客户创建D i r e c t o r对象,并用它所想要的 B u i l d e r对象进行配置。
一旦产品部件被生成,导向器就会通知生成器。
生成器处理导向器的请求,并将部件添加到该产品中。
客户从生成器中检索产品。下面的交互图说明了 B u i l d e r和D i r e c t o r是如何与一个客户协作的。
7. 效果这里是B u i
l d e r模式的主要效
果: