一、什么是设计模式?
网上搜来搜去的设计模式,是不是翻烂了也没找到。
设计模式的存在,给我的感觉像是高冷的女神,我是舔狗,对我忽冷忽热,可有可无的那种感觉。
Qt的框架和各种库其实蕴含了很多种设计模式,设计模式是一种解决方法的思路,我的理解是框架,是骨头架子,是地基。或者说它只是提供了不同的解决方案,我们选择其中一个设计方案可以很好的解决当前遇见的问题。
背题啦:设计模式是什么?
简洁:解决方案
详细:设计模式是一种解决面向对象设计中的问题的方案,通常描述了一组相互紧密作用的类与对象。(设计模式分为三大类:分析型、设计型和表现型,没必要死记硬背。)
二、qt的设计模式有哪些?
看图说话。。。。。。。。。。。。
设计模式 | 解释 | 举例 |
抽象工厂 | 可用来创建所谓的工厂类,这些类能够以各种可能的方式创建对象并控制新对象的创建,例如,防止对象拥有超过定义的实例数 | DescriptorMatcher |
命令 | 利用该设计模式,可以用对象表示操作,从而实现组织操作顺序、记录操作、恢复操作等功能 | QAction |
组合 | 用于创建由子对象组成的对象。这在创建由许多简单对象组成的复杂对象时特别有用 | QObjiect QWidget |
外观 | 可以通过提供一个简单的接口来封装操作系统(或任何其他系统)的低层功能。封装器和适配器设计模式在定义上是非常相似的 | QFile |
享元 | 该设计模式的目标是避免数据复制,并在相关对象之间使用共享数据(除非有必要) | QString |
备忘录 | 用于保存和(稍后)加载对象的状态 | 自定义类,存储某对象的所有属性,并可以通过恢复加载属性创建一个新的对象。 |
元对象 | 在这个设计模式中,用所谓的元对象来描述对象的详细信息,以便更健壮地访问该对象 | QMetaObject |
MVC | 这是一种广泛使用的设计模式,用于将应用程序或数据存储机制(模型)的实现与用户界面或数据表示(视图)以及数据操作(控制器)分离开来 | QTreeView QFileSystemModel |
单态 | 允许同一个类的多个实例以相同的方式运行(通常,通过访问相同的数据或执行相同的函数) | QSettings |
单例 | 一个类只有一实例 | QApplication中的instance() |
观察者 | 该设计模式用于生成能够侦听(或观察)其他对象的更改并相应地做出响应的对象 | QEvent |
串行器 | 在创建类(或对象)时,可以使用该模式来读取或写人其他对象 | QTextStream QDataStream |
........ |
设计模式大概有个23种左右,以上只做简单的描述,是我读书得来的知识,所有没事就要多读书。多去增加自己的理解,更好的融汇贯通。
好了,以上就是今天简单的一个讲解。THANKES