- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 工厂方法模式学习记录
1,工厂方法模式介绍**工厂方法模式定义:在工厂模式中,工厂父类负责定义创建产品对象的公告接口,而工厂子类负责生成具体的产品对象。目的是将产品的实例化操作延迟到工厂子类中完成,通过工厂子类来确定究竟应该实例化哪一个具体产品类。**模式结构----每一个工厂子类负责生产一类具体的产品。2,工厂模式的优缺点简单工厂模式中最大的缺点是当有新产品要加入系统时,必须要修改工厂类,加入必要的处理逻辑,违背了“开放封闭原则”,在工厂方法模式中对这点进行了优化。优点:系统的扩展性好,符合“开放封闭原则” 。
2022-05-23 22:13:06 125
原创 Qt获取时间记录
//设置写入对象QDateTime currentTime = QDateTime::currentDateTime();//ddd显示周几QString str = currentTime.toString("yyyy.MM.dd hh:mm:ss /*ddd*/");//QTime获取时间QTime currentTime2 = QTime::currentTime();int hour = currentTime2.hour(); int minute = currentTime2.
2022-05-23 20:15:42 418
原创 c++多态的理解
** 多态性是一个接口多种实现,是面向对象的核心**正常情况下,函数的地址在编译过程中就已经确定,在运行中无法更改,但是通过晚绑定机制可以在运行阶段在确定函数的地址,从而实现多态的效果。#include <iostream>using namespace std;class Animal{public: /*virtual*/ void CreateAnimal(); /*virtual void Sound();*/};void Animal::Crea
2022-05-16 23:09:47 297
原创 简单工厂模式学习记录
工厂模式(Factory Pattern )是最常用的一类创建型设计模式,包含简单工厂模式(Simple Factory Pattern),工厂方法模式(Factory Method Pattern),和抽象工厂模式(Abstract Factory Pattern)。简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又称为静态工厂方法模式(
2022-05-13 22:47:04 169
原创 Qt中添加鼠标右键菜单
#include "RightButton.h"#include <QMenu>#include <QAction>#ifdef WIN32 #pragma execution_character_set("utf-8") #endifRightButton::RightButton(QWidget *parent) : QWidget(parent){ ui.setupUi(this); this->setCont
2022-05-13 21:12:49 1595
原创 记录TableWidget
QtableWidget提供的方法QtableWidget::QtableWidget(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); InitWidget();}void QtableWidget::InitWidget(){ QStringList _list; _list << "姓名" << "年龄" << "身高" << "体重";
2022-05-13 16:43:13 476
原创 观察者模式学习
设计模式之观察者模式(c++)Observer 模式要解决的问题为: 建立一个一( Subject)对多( Observer) 的依赖关系, 并且做到当“一” 变化的时候, 依赖这个“一”的多也能够同步改变。在GOF的《设计模式:可复用面向对象软件的基础》一书中对观察者模式是这样说的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当一个对象发生了变化,关注它的对象就会得到通知;这种交互也称为发布-订阅(publish-subscribe)。目标是
2022-05-12 23:41:16 183
原创 模板模式学习
示例:使用模板方法和不使用的区别,还有在什么情况下适用模板方法。//组件协作模式,通过晚绑定,实现框架之间的松耦合//1,TemplateMethod//2.Strategy//3,Observer/Event//动机:// 在软件的构建过程中,对于某一项任务,他常常具有稳定的整体结构,但各个子步骤之间却有很多改变的需求,//或者由于某些原因(比如框架和应用之间的关系),而无法和任务的整体结构同时实现// 那么如何在确定稳定操作结构的前提下,来灵活应对各个子步骤的变化或者晚期的
2022-04-16 15:22:27 191
原创 tuf8和gb2312编码转换
#include <qtextcodec.h>#include 构造函数{ui.setupUi(this);std::string temp("模板方法");char str[10] = {0};setWindowTitle(TemplateMethod::Gb2312_utf8(temp, str));}char * TemplateMethod::Gb2312_utf8(std::string strutf8, char* str){//头文件QTextCod
2022-03-30 23:39:07 1733
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人