C++设计模式详解:创建型、结构型与行为型模式
需积分: 0 196 浏览量
更新于2024-07-24
1
收藏 1.05MB PDF 举报
Work createWork();
}
ConcreteCreator
publicclassStudentWorkFactoryimplementsIWorkFactory{
@Override
publicWork createWork(){
returnnewStudentWork();
}
}
ConcreteCreator2
publicclassTeacherWorkFactoryimplementsIWorkFactory{
@Override
publicWork createWork(){
returnnewTeacherWork();
}
}
main方法
publicstaticvoidmain(String[]args){
IWorkFactory factory = new StudentWorkFactory();
Work work = factory.createWork();
work.doWork(); // 输出: 学生做作业!
factory = new TeacherWorkFactory();
work = factory.createWork();
work.doWork(); // 输出: 老师审批作业!
}
在这个例子中,`Work` 是产品接口,`StudentWork` 和 `TeacherWork` 是具体的产品类,实现了 `Work` 接口。`IWorkFactory` 是工厂接口,定义了创建 `Work` 对象的方法,而 `StudentWorkFactory` 和 `TeacherWorkFactory` 是具体的工厂类,它们实现了 `IWorkFactory` 接口并返回各自对应的产品实例。
(二)抽象工厂模式
抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。这种模式通常用于系统框架或跨平台开发,使得更换不同环境下的产品族变得容易。
(三)建造者模式
建造者模式将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。它允许用户只关注产品的构造过程,而不关心产品是如何被创建的。
(四)单态模式
单态模式确保一个类只有一个实例,并提供一个全局访问点。这种模式在需要频繁实例化然后销毁的对象,或者创建对象需要消耗大量资源时非常有用。
(五)原型模式
原型模式通过复制已有对象来创建新对象,减少了类的实例化次数,提高了性能。特别适用于深拷贝场景。
二、结构型模式
结构型模式关注如何组织类和对象以获得更好的结构,同时保持它们在设计上的独立性。
(一)适配器模式
适配器模式将不兼容的接口转换为客户期望的接口,使得原本由于接口不兼容而无法一起工作的类可以协同工作。
(二)桥接模式
桥接模式将抽象部分与实现部分分离,使它们可以独立变化。这降低了系统的耦合度,提高了灵活性。
(三)组合模式
组合模式允许你将对象组合成树形结构来表现“整体/部分”层次结构。它使得用户对单个对象和组合对象的使用具有一致性。
(四)装饰模式
装饰模式动态地给一个对象添加一些额外的职责,提供了一种使用继承增加对象功能的替代方案。
(五)外观模式
外观模式为子系统提供了一个统一的接口,使得客户端无需知道子系统组件的细节,简化了客户端与子系统之间的交互。
(六)享元模式
享元模式运用共享技术有效支持大量细粒度的对象,减少内存中对象的数量,提高系统性能。
(七)代理模式
代理模式为其他对象提供一种代理以控制对这个对象的访问,可以用于远程代理、虚拟代理、安全代理等。
三、行为型模式
行为型模式关注对象之间的责任分配和行为传播。
(一)责任链
2011-05-31 上传
2019-01-06 上传
2018-08-24 上传
2023-10-18 上传
2023-05-17 上传
2023-05-18 上传
2023-05-17 上传
2023-10-17 上传
2023-10-21 上传
jihaibin009
- 粉丝: 0
- 资源: 5
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性