JAVA面向对象程序设计之结构型&行为型设计模式

https://www.shengchulai.com/blog-SG6zA2vFeR.htm

1 结构型模式介绍

结构型模式描述如何组织类和对象以组成更大的结构。结构型类模式采用继承机制来组合接口和实现,结构型对象模式则采用组合聚合来组合对象以实现新功能,可以在运行时刻改变对象组合关系,具有更大灵活性,故这里只关注结构型对象模式。一般常见的结构型模式有 7 种:ABCDFFP(Adapter,Bridge,Composite,Decorator,Façade,Flyweight,Proxy) 。

1.1.1 适配器模式( Adapter )

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。

1.1.2 类的适配器模式

核心思想就是:有一个 Source 类,拥有一个方法,待适配,目标接口是 Targetable ,通过 Adapter 类,将 Source 的功能扩展到 Targetable 里,实现代码:

输出:

这样 Targetable 接口的实现类就具有了 Source 类的功能。

1.1.3 对象的适配器模式

基本思路和类的适配器模式相同,只是将 Adapter 类作修改,这次不继承 Source 类,而是持有 Source 类的实例,以达到解决兼容性的问题。

2 行为型模式介绍

行为型模式,共 11 种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

11 中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类。

(0)

相关推荐

  • 如何学习23种设计模式及其思想?

    感觉设计模式是看着简单 ,但是一用就不会,23种设计模式,学的人头大,相信大家都是这样的 设计模式在程序员的面试中会被考到,通常是介绍其原理并说出优缺点.或者对比几个比较相似的模式的异同点.在笔试中可 ...

  • 结构型设计模式 -- 适配器模式

    一.小案例分析 1.功能需求: 以电源适配器为例. 一个人去外国旅游,住在外国某宾馆,恰好手机没电(手机是双孔插头),但外国宾馆只有三孔插座,宾馆一般不可能为了旅客,将三孔插座换成双孔插座,此时适配器 ...

  • 设计模式之适配器模式案例详解

    基本介绍 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作. 适配器模式属于结构性模式,主要分为三类:类适配器模式.对象适 ...

  • 设计模式-结构型模式总结

    结构型模式主要处理类或对象的组合,关注于如何将现有类或对象组织在一起形成更大的结构. 适配器模式 将一个类的接口转换成客户希望的另外一个接口,使原本不能一起工作的类可以一起工作. 适配器模式属于补偿机 ...

  • 通俗易懂系列 | 设计模式(三):适配器模式

    今天看了部特工电影,里面有个桥段,主角在直升机上和反派生死搏斗,而飞机则是无人驾驶的状态,有坠毁的危险.生死存亡,危急时刻主角让团队成员去驾驶,而团队成员很慌张地说:"Hey, man,你开 ...

  • 每天学习一个设计模式(一):结构型之适配器模式

    一.基本概念 适配器模式是将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的的类的兼容性问题. 二.通俗解释 ADAPTER 适配器模式:在朋友聚会上碰到了一个美女Sar ...

  • 西电2021春 面向对象程序设计(C++)大作业读程题答案

    四.读程题(每题 5 分,共 20 分) 1.给出下述源程序的运行结果. #include <iostream.h> void fun(int i, int &j) {      ...

  • 西安电子科技大学2021春 面向对象程序设计(C++)大作业答案

    一.简答题(共 10 分) 1.(3 分)什么是引用?它与指针有什么区别? 2.(3 分)C++提供了哪些循环语句?它们各自的特点是什么? 3.(4 分)构造函数的作用是什么?在创建派生类的对象时,应 ...

  • java面向对象高级

    目录 1.类变量(静态类变量) 2.静态方法 3.Main()方法 4.代码块 5.单例模式 6.抽象类 6.1.抽象类的介绍 6.2.抽象类的特点 6.3.多态在抽象类的体现 6.4.抽象类体现了模 ...

  • 肺结柿分型治疗

    肺结柿分型治疗 气阴两虚型: 健脾益肺,常见肺结核早期,适合气阴两虚所致的肺结核. 处方:党参.白术.茯苓各10克,沙参9克,甘草8克,陈皮.百部.杏仁各9克. 用法:水煎服,一天一剂,两煎混均,分二 ...

  • C++入门到精通:面向对象程序设计中的继承与派生!

    面向对象程序设计有4个主要特点:抽象.封装.继承和多态性.本章主要介绍有关继承的知识,多态性将在后续章节中讲解. 继承性是面向对象程序设计最重要的特征,可以说,如果没有掌握继承性,就等于没有掌握类和对 ...

  • java 面向对象编程

    什么是面向对象 回顾方法的定义与调用 方法的定义 import java.io.IOException; //Demo01 类 public class Demo01 { //main方法 publi ...

  • Java 面向对象

    一.面向对象的三条主线 1.Java类及类的成员:属性,方法,构造器:代码块,内部类 2.面向对象的三大特征:封装性,继承性,多态性,(抽象性) 3.其他关键字:this, super, static ...

  • 面向对象23种设计模式系列(一)- 创建型设计模式

    本章是面向对象23种设计模式系列开篇,首先我们来看下什么是设计模式? 面向对象23种设计模式: 1.面向对象语言开发过程中,遇到的种种场景和问题,提出了解决方案和思路,沉淀下来就变成了设计模式. 2. ...

  • 英语结构型短语100条,初中三年都用得上

    学英语,根基在于单词和短语的积累. 今天王老师给大家分享初中英语必背100条结构型短语,给孩子收藏好吧! 1 (see .hear .notice .find .feel .listen to . l ...