| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 设计模式(三)结构型模式 -> 正文阅读 |
|
[Java知识库]设计模式(三)结构型模式 |
前言结构型设计模式,主要研究:
下面分别对几种结构型模式加以说明。 1. 适配器模式先看例子:适配器模式 使用场景想要在系统中添加某个功能,类似的功能在其他项目中已经实现,而且经过分析,旧的接口可以经过适当的封装,转换成新的适用于当前系统的接口。这样可以最大程度地复用已有的模块。 原理通过适配器将已有功能的旧的接口,转换为新的接口,从而实现使已有的功能为新的系统服务的目的。 不适用的情况以下情况下,不要使用适配器模式:
小心使用适配器模式其实是一种取巧的做法,在使用时需要慎重考虑。已有功能通过适配器集成到新的系统后,如果出现问题或者需要进行功能扩展,其维护成本是一个需要考虑的问题。例如,已有功能是否使用了过时的技术,或者资料不全,都可能成为项目的风险所在。 本质
2. 桥接模式例子:桥接模式 使用场景桥接模式是少用继承,多用组合的第一例。
这个时候,我们通过如何继承来实现呢?难道要派生出四个子类吗?如果还有其他功能组合呢?要多少个类呢?这样下去无疑会导致“类的数量爆炸”问题。 原理结构型模式是研究程序功能组织方法的设计模式。当程序中需要对几种功能相互组合时,应该用组合,不要用继承。 相对于继承,桥接模式相当于把主体类中的每个虚函数都单独提取出来,构成 一个接口类。这个接口类连接了具体实现和主体类,所以这个模式叫桥接模式。这个名字其实不是很能反映此模式的内涵,其实叫“功能组合模式”更为贴切。 可能有的小伙伴会说,上面的功能其实用C语言实现不是更简单吗?
这不就完成了吗?是的! 小心使用桥接模式会导致代码中存在设计模式的代码,会增加代码的理解难度。相对来说,积极作用还是远大于副作用的。 本质桥接模式的本质是:
3. 过滤器模式 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:46:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |