1.适配器模式

将一个类的接口转成用户想要用的一种接口,适配器模式将一种接口兼容不能一起工作的那个类可以一起工作。

适用:1.想使用一个类,但是它的接口不符合;2.想创建一个可以复用的类,该类可以与不兼容接口的类,一起工作;3.如果想使用一些子类,但是不可能实例化所有的子类,适配器可以匹配它父类的接口。

用法:1.定义一个要兼容的接口;2.定义一个已经存在的接口,要给它进行适配;3.定义一个类使前面2个接口兼容。

2.桥接模式

将抽象部分和实现部分分离,使它们都可以独立的变化。

适用:1.抽象和实现不会绑定;2.类的抽象和实现可以通过子类的方法加以扩充,这样可以让不同的接口和不同的实现自由的组合和扩充;3.对一个抽象的实现的修改不会影响客户的代码的重新编译。4.实现对象之间的实现共享,例如引用计数,可以不让客户知道。

用法:1.定义抽象类的接口;2.创建一个新的类扩充抽象类的接口;3.定义实现类的接口,和抽象类的接口完全不一样;4.定义一个类用来实现类的具体实现。

转载于:https://blog.51cto.com/sangao/1013489

java设计模式(2) - 结构型模式相关推荐

  1. Java——设计模式(结构型模式)

    一.适配器模式(不兼容结构的协调) 在适配器模式中引入了一个被称为适配器(Adapter)的包装类,而它所包装的对象称为适配者(Adaptee),即被适配的类.适配器的实现就是把客户类的请求转化为对适 ...

  2. Java设计模式之结构型:享元模式

    一.什么是享元模式: 享元模式通过共享技术有效地支持细粒度.状态变化小的对象复用,当系统中存在有多个相同的对象,那么只共享一份,不必每个都去实例化一个对象,极大地减少系统中对象的数量.比如说一个文本系 ...

  3. Java设计模式之结构型:组合模式

    前言: 我们对于上面两幅图片肯定非常熟悉,这两幅图片我们都可以看做是一个文件结构,对于这样的结构我们称之为树形结构.在数据结构中我们知道可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可 ...

  4. Java设计模式之结构型:外观模式

    一.什么是外观模式: 外观模式通过对客户端提供一个统一的接口,用于访问子系统中的一群接口.使用外观模式有以下几点好处: (1)更加易用:使得子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要 ...

  5. Java设计模式之结构型:代理模式

    前言: 我们一般在租房子时会去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做:再比如我们打官司需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们 ...

  6. Java设计模式之结构型:装饰器模式

    一.什么是装饰器模式: 当需要对类的功能进行拓展时,一般可以使用继承,但如果需要拓展的功能种类很繁多,那势必会生成很多子类,增加系统的复杂性,并且使用继承实现功能拓展时,我们必须能够预见这些拓展功能, ...

  7. Java设计模式之结构型:桥接模式

    一.什么是桥接模式: 桥接,顾名思义,就是用来连接两个部分,使得两个部分可以互相通讯,桥接模式的作用就是为被分离的抽象部分和实现部分搭桥.在现实生活中一个物品在搭配不同的配件时会产生不同的动作和结果, ...

  8. Java设计模式之结构型:适配器模式

    一.什么是适配器模式: 适配器模式主要用于将一个类的接口转化成客户端希望的目标类格式,使得原本不兼容的类可以在一起工作,将目标类和适配者类解耦:同时也符合"开闭原则",可以在不修改 ...

  9. 备战面试日记(3.3) - (设计模式.23种设计模式之结构型模式)

    本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.9 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...

  10. 设计模式 之 结构型模式

    设计模式 之 结构型模式 模式 & 描述 包括 结构型模式 这些设计模式关注类和对象的组合.继承的概念被用来组合接口和定义组合对象获得新功能的方式. 适配器模式(Adapter Pattern ...

最新文章

  1. [Tool] 使用CodeMaid自動程式排版 - 摘自网络
  2. 【BZOJ-3681】Arietta 网络流 + 线段树合并
  3. oracle sql练习_SQL入门学习
  4. iOS开发内购图文教程
  5. 多线程编程-条件变量
  6. html添加工具栏,添加带有命令的工具栏 (HTML)
  7. Arrays类及其方法分析
  8. android手机连接windows,将Android手机投影到Windows 10 PC [夏昆冈]
  9. 技术再好,能阻止暴力视频的疯传吗?
  10. list集合去除重复对象
  11. QuartZ 配置第一次不执行后续正常执行
  12. ppt flash无法播放解决方法
  13. 【第六届蓝桥杯】奇妙的数字
  14. 推荐5款纯净好用的良心浏览器,实现浏览自由
  15. 【编程题】【Scratch一级】2022.03 飞翔的小猫
  16. 转变磁盘格式(转成gpt)
  17. 二分法查找--Dichotomy search
  18. 电路中的VCC和VDD等是什么意思?
  19. android 高德地图标记,android学习之高德地图添加标记
  20. 计算机云压卸载不了,电脑软件卸载不掉怎么办

热门文章

  1. java 发布应用_发布java应用程序的步骤
  2. python抓取疫情数据_python 爬取疫情数据
  3. php 常用时间处理函数,PHP date函数常用时间处理方法_PHP
  4. install cuda on ubuntu
  5. pycharm下的第一个函数程序
  6. vba替换字符串中的字符_R语言 | 字符串替换
  7. android 自定义 黑点,Android自定义密码样式 黑点转换成特殊字符
  8. U盘安装服务器2008系统蓝屏,U盘安装系统造成蓝屏如何解决
  9. python scrapy框架爬虫当当图书网
  10. 华为平板电脑_华为MatePad Pro 5G:云游戏、云电脑加持,这台平板不只是平板