- 博客(37)
- 资源 (9)
- 收藏
- 关注
原创 ubuntu 16 设计导致VMware 在linux启动时出错 before you can run vmware, several modules must be complied and loa
mark一下vmware-modconfig --console --install-all命令定位错误/usr/lib/vmware/modules/source/*.tar代码位置uname -a查看linux kernel文件位置
2019-07-17 20:52:57
6067
原创 templete_method 模板方法模式
#include #include using namespace std;class TestPaper{public: virtual ~TestPaper(){} void TestQuestion1() { cout
2013-12-23 09:00:03
596
1
原创 strategy 策略模式
#include using namespace std;class travel{public: virtual void travel_method() = 0; virtual ~travel(){}};class travel_with_plane:public travel{public: void travel_method(){
2013-12-23 08:59:45
622
原创 state 状态模式
#include #include using namespace std;/*1) 将 State声明为 Context的友元类(friend class) ,其作用是让 State模式访问 Context的 protected接口 ChangeSate() 。2) State 及其子类中的操作都将 Context*传入作为参数,其主要目的是 State 类可以通过这个指针调用
2013-12-23 08:59:24
641
原创 singleton 单例模式
#include using namespace std;class singleton{public: void method(){ cout <<"singleton::method"<<endl; } //... static singleton *getInstance(); static singleton *instance;private:
2013-12-23 08:59:11
525
原创 visitor 访问者模式
#include #include #include using namespace std;class element;class visitor{public: visitor(string name): _name(name){} virtual ~visitor(){} virtual void visit_concrete_elementA(ele
2013-12-21 12:05:21
628
原创 proxy 代理模式
#include #include using namespace std;class Subject{public: virtual ~Subject(){}; virtual void Request() = 0;};class ConcreteSubject : public Subject{public: ConcreteSubject(){}
2013-12-21 11:56:46
592
原创 prototype 原型模式
#include #include using namespace std;class Prototype{public: virtual ~Prototype(){} virtual Prototype *clone(string name, int age) =0; virtual void getInfo() =0; virtual void se
2013-12-21 11:54:59
643
原创 observer 观察者模式
#include #include #include using namespace std;// subject notify中调用 observer 的update 更新状态typedef string State;class subject;class observer{public: virtual ~observer(){} virtual void
2013-12-21 11:54:07
565
原创 memento 备忘录模式
#include #include using namespace std;class memento;class originator{public: typedef string state; originator():_me(NULL){ _me = create_memento(); } originator(const state &st):_st(
2013-12-21 11:52:54
569
原创 mediator 中介者模式
#include #include using namespace std;class country;class united_nation //中介类{public: virtual ~united_nation(){} virtual void declare(const string &message, country *colleague) =0;};
2013-12-21 11:52:05
503
原创 iterator 迭代器模式
#include #include #include using namespace std;class Iterator;typedef int Object;class Interator;class Aggregate{public: virtual ~Aggregate(){} virtual Iterator *CreateIterator() =0
2013-12-21 11:51:12
684
原创 interpreter 解释器模式
#include #include using namespace std;class context{public: context(){} ~context(){}};class abstract_expression{public: virtual ~abstract_expression(){} virtual void interpr
2013-12-21 11:50:02
644
原创 flyweight 享元模式
#include #include #include using namespace std;class fly_weight{public: virtual ~fly_weight(){} virtual void operation(const string &state){} string get_state() { return
2013-12-21 11:49:01
544
原创 factorymethod 工厂方法模式
#include using namespace std;template class Factory{public: Factory():m_pointer(NULL){} Base *create() { if (m_pointer != NULL) return m_pointer; m_pointe
2013-12-21 11:47:25
563
原创 factory 简单工厂
#include #include #include using namespace std;class IAnimal //工厂创建出的接口{public: virtual int GetNumberOfLegs() const = 0; virtual void Speak() = 0; virtual void Free() = 0;};typ
2013-12-21 11:45:21
625
原创 facade 外观模式
#include using namespace std;//外观模式 最简单的模式 不需要虚函数 继承等class foo{public: void show() { cout<<"foo::show()"<<endl; }};class bar{public: void show() { cout<<"
2013-12-21 11:42:30
549
原创 decorator 装饰模式
#include #include using namespace std;class Component{public: virtual ~Component(){} virtual void Operation(){}protected: Component(){};};class ConcreteComponent : public Compone
2013-12-21 11:41:12
567
原创 composite 组合模式
#include #include #include using namespace std;class component{public: virtual ~component(){} virtual void operation() =0; virtual void add(component *) =0; virtual void remove
2013-12-21 11:39:20
722
原创 command命令模式
#include using namespace std;class reciver //执行者{public: void action() { cout<< "reciver::action()"<<endl; }};class command //命令{public: command(reciver *rec):_rec(re
2013-12-21 11:37:42
904
原创 chain_of_responsibility责任链模式
#include using namespace std;class handle{public: handle():_suc(NULL){} virtual ~handle(){} void set_successor(handle *suc) { _suc = suc; } handle *get_successor()
2013-12-21 11:35:54
634
原创 builder建造者模式
#include #include #include using namespace std;class Product{public: void add(string part) { lst.push_back(part); } void show() { for (list::iterator it = l
2013-12-21 11:34:49
613
原创 bridge桥接模式
#include #include using namespace std;class abstraction_imp{public: virtual ~abstraction_imp(){} virtual void operation() =0;};class abstraction{public: virtual ~abstraction(){}
2013-12-21 11:33:50
640
原创 adapter适配器模式
#include #include using namespace std;class target{public: target(){} virtual ~target(){} virtual void request() { cout<< "target::request()" <<endl; }};class ada
2013-12-21 11:32:33
483
原创 abstract_factory抽象工厂
#include #include #include using namespace std;template class abstract_factory{public: virtual ~abstract_factory(){} virtual Base *create() =0;};template class fa
2013-12-21 11:29:57
660
原创 写在前面
常用的23种设计模式,都是自己找资料整理的,拿出来和大家分享。创建型:abstract_factory 抽象工厂builder 建造者模式factory 简单工厂prototype
2013-12-21 11:27:32
482
转载 Linux运维常用命令总结
1.删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列PS -e -o "%C : %p : %z : %a"|sort -k5 -nr 3.按cpu利用率从大到小排列ps -e -o "%C : %p : %z : %a"|sort -nr
2013-06-09 10:44:56
980
转载 linux系统诊断三剑客
strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . 1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程 2 -o xxx.txt 输出到某个文件。 3 -e
2013-06-09 10:33:59
693
转载 细节之处方显linux真功夫 - 老男孩linux运维
细节之处方显linux真功夫 - 老男孩linux运维 - 51CTO技术博客 http://oldboy.blog.51cto.com/2561410/1216107问题:linux下生成00 01 02..99的这些数,怎么生成?注意:所有内容必须横排显示(按理不说也该理解题意的)。说明:本博文是以一个小的面试题为载体,讲述如下知识点的综合运用:seq tr
2013-06-09 09:54:11
1434
原创 编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(三)
//直接来个复杂的多重继承#include class Base{public: Base(){ puts("Base()"); } virtual void fun1() { puts("Base::fun1()"); } virtual void fun2() { puts("B
2013-06-06 15:52:43
898
原创 编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(二)
#include class Base{public: Base(){ puts("Base()"); } virtual void fun1() { puts("Base::fun1()"); } virtual void fun2() { puts("Base::fun2()")
2013-06-06 13:43:45
1168
原创 Qt实现窗口tabwidget的拖出双击弹回功能
这个功能看似简单,实现起来确实有点儿难度。在代码里详细说明吧。//CTabWidget.h#ifndef CTABWIDGET_H#define CTABWIDGET_H#include #include #include "CTabBar.h"class CTabWidget :public QTabWidget{ Q_OBJECTpublic: CTabW
2013-06-06 10:58:49
6178
原创 非排序map的适配器
以前写过的一些代码,拿出来与大家分享一下,在看代码前先交代清楚它的优缺点,顾名思义此适配器去除了std::map按key排序的特性,元素的排序按我们插入的顺序排列,因此失去了二分查找的性能,查询的时间为常数N。在我们不希望std::map排序元素,且保存元素较少的情况下,这是个不错的解决方案。Map.h#pragma once#include #include namespac
2013-06-06 10:32:03
862
原创 编译器是如何用汇编语言实现C++的虚函数表和隐式传递this指针(一)
所谓的面向对象及继承、多态等等只是在语言层面的实现,机器在执行程序时根本就不知道这些。这篇博客的目的是探讨一下,编译器对C++虚函数的实现。先探讨最简单的情况:代码如下 vtable.cpp:#include class Base{public: Base(){ puts("Base()"); } virtual void f
2013-06-06 09:40:32
1668
原创 Qt信号和槽的实现揭秘
Qt信号和槽的实现揭秘对于刚开始学习Qt的同学,对信号和槽的运行机制是非常难于理解的,这篇Blog 的目的就是解析掀开信号和槽的神秘面纱。支持信号与槽机制的类必须派生于QObject,并且在类的声明中必须包涵Q_OBJECT宏。这里用到的就如下的几行代码,非常简单,一个按钮单击退出。#include #include int main(int argc, char *argv[]
2013-06-06 09:37:59
4255
原创 she is a girl 倒置
//面试碰到的一道题,"she is a girl"字符串倒置成"girl a is she",给我一张纸就让我写程序,然后就成功的被pass掉了。程序真的不是在纸上写出来的。#include #include #include int main(){ char str[] = "she is a girl"; char *tmp = (char*)malloc(strlen(
2013-06-06 09:36:15
708
深入解析Linux常用命令在系统管理和开发运维中的应用
2025-02-08
VMware虚拟机安装与配置指南:详尽解析与实际操作步骤
2025-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人