* 第八章 结构型模式 结构型模式涉及到如何组合类和对象以获得更大的结构。 结构型类模式采用继承机制来组合接口或实现。一个简单的例子是采用多重继承方法将两个以上的类组合成一个类,结果这个类包含了所有父类的性质。 这一模式尤其有助于多个独立开发的类库协同工作。 结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。 因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。 适配器模式(ADAPTER )-类对象结构型模式 组合模式(COMPOSITE )-对象结构型模式 装饰模式(DECORATOR )-对象结构型模式 Adapter模式:适配器使得一个接口(adaptee的接口)与其他接口兼容,从而给出了多个不同接口的统一抽象。为此,类适配器对一个adaptee类进行私有继承。这样,适配器就可以用adaptee的接口标识它的接口。 Composite模式:描述了如何构造一个类层次结构,这一结构由两种类型的对象(基元对象和组合对象)所对应的类构成。其中的组合对象使得你可以组合基元对象以及其他的组合对象,从而形成任意复杂的结构。 Decorator模式:描述了如何动态地为对象添加职责。这一模式采用递归方式组合对象,从而允许你添加任意多的对象职责。 8.1 适配器模式 1。意图 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能够一起工作的那些类可以一起工作。 2。别名 包装器Wrapper 3。动机 见文档。 4。适用性 1. 你想使用一个已经存在的类,而它的接口不符合你的需要。 2. 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作。 3. 你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。 5。结构 类适配器 :类适配器使用多重继承对一个接口与另一个接口进行匹配 对象适配器 :对象适配器依赖于对象组合 类适配器 对象适配器 6。参与者 Target:定义Client使用的与特定领域相关的接口。 Client:与符合Target接口的对象协同。 Adaptee:定义一个已经存在的接口,这个接口需要适配。 Adapter:对Adaptee的接口与Target接口进行适配。 对象适配器模型代码原型 class Target ??{ ????public virtual void Request() ????{ ??????Console.WriteLine(Called Target Request()); ????} ??} ?class Adapter : Target ??{ ????private Adaptee _adaptee = new Adaptee(); ? ????public override void Request() ????{ ??????// Possibly do some other work ??????//? and then call SpecificRequest ??????_adaptee.SpecificRequest(); ????} ??} ?class Adaptee ??{ ????public void SpecificRequest() ????{ ??????Console.WriteLine(Called SpecificRequest()); ????} ??} } ?static void Main() ????{ ??????// Create adapter and place a request ??????Target target = new Adapter(); ??????target.Request(); ? ??????// Wait for user ??????Console.ReadKey(); ????} Output Called SpecificRequest() 7。协作 Client在Adapter实例上调用一些操作。接着适配器调用Adaptee的操作实现这个请求。 客户使用适配器的过程: 客户通过目标接口调用适配器的方法对适配器发出请求 适配器使用被适配者接口把请求转换成被适配者的一个或多个调用接口(客户与被适配者是解耦的,一个不知道另一个) 客户接收到调用的结果,但并未察觉这一切是适配器在起转换作用 适配器实现了目标接口,而此目标接口是由被适配者所组合的 *
您可能关注的文档
- 6.4.2最大高度解题.ppt
- 6.4干燥速率与干燥时间解题.ppt
- 第9章国际货物买卖合同:运输讲稿.ppt
- 6.5 探究杠杆的平衡条件解题.ppt
- 6.5变压器相间短路后备保护解题.ppt
- 2.认识几种常见的岩石解题.ppt
- 2.三棵银杏树解题.ppt
- 6.5不同规模城市服务功能的差异解题.ppt
- 04异步电动机2010解题.ppt
- 6.5探究杠杆平衡条件解题.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年德州市中考数学试题卷(含答案及解析).docx
- ISO 15614-1-2012 金属材料焊接工艺规范和评定.pdf VIP
- 发那科fanuc维修手册 内部资料教材.pdf VIP
- 2026年节后复工开工第一课课件.ppt
- 蔬菜水果的收货验货标准.doc VIP
- 新部编人教版语文五年级上册生字字帖直接打印资料文档.pdf VIP
- 东北大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- T_DZJN 455-2025 冶金工业变频节能选型设计规范.docx VIP
- 北京邮电大学《机器学习》2024 - 2025 学年第一学期期末试卷.pdf VIP
- 新版2026春重庆大学版英语四年级下册单词表国标手写斜体描红字帖.pdf
原创力文档

文档评论(0)