自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 结构型模式:代理模式

意图:为其他对象提供一种代理以控制对这个对象的访问。适用性:在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用代理模式,下面是几种常见情况(1)远程代理(Remote Proxy):为一个对象在不同的地址空间提供局部代表。(2)虚代理(Virtual Proxy):根据需要创建开销很大的对象。(3)保护代理(Protection Proxy):控制对原始对象的访问,

2015-09-22 11:26:50 410

原创 结构性模式:外观模式

意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。根据迪米特法则:如果两个类不必直接通信,这两个类就不应该直接相互作用,如果其中一个类需要调用另一个类的方法,可以通过第三者转发。适用性:(1)当需要为一个复杂子系统提供一个简单接口。(2)客户程序与抽象类的实现部分之间存在很大的依赖性,引入外观模式将子系统与客户程序

2015-09-21 18:07:50 453

原创 结构性模式:装饰模式

意图:动态地给一个对象添加一些额外的职责。抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。具体构件(Concrete Component)角色:定义一个将要接收附加责任的类。装饰(Decorator)角色:持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。具体装饰(Concrete Decorator)

2015-09-20 11:26:49 380

原创 行为模式:观察者模式

意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。适用性:(1)一个对象改变时需要同时改变其它对象,但不知道具体有多少对象有待改变。(2)一个对象时必须通知其它对象,又不能假定其它对象是谁,也就是说这些对象是松耦合的。(3)对一个对象有多个方面,封装在独立的对象中,并且相互之间有依赖。缺点1.如果一个被观

2015-09-19 11:19:27 420

原创 结构型模式:适配器模式

意图:将一个类的接口转换成客户希望的另一种接口,从而使原本接口不兼容而无法在一起工作的那些类能够在一起工作。适配器模式分为:类适配器模式和对象适配器模式。类适配器模式客户端需要实现SpecificRequest()操作,但是需要Request()方法,为了使客户能够使用Adaptee类,提供一个中间环节(Adapter类),Adapter类继承自Adaptee,Adapter类

2015-09-17 23:41:27 345

原创 创建型模式:单件模式

单件模式是为了保证类只有一个实体,并为它提供一个全局唯一的访问点。class singleton{public:    ~singleton(){}    static singleton* getInstance()    {        if(_instance == NULL)        {            _instance = new si

2015-09-13 22:59:41 331

原创 创建型模式:工厂模式(简单工厂模式,抽象工厂模式,工厂模式)

简单工厂模式        工厂模式中最简单的一种,用比较简单的方式隐藏创建对象的细节。客户端唯一需要知道的是具体子类的类型,工厂类就会返回需要的产品类,但客户端看到的只是产品的抽象对象,无需关心到底是返回了哪个子类。基本是达到了依赖倒转原则的要求。优点1.隐藏了对象创建的细节,将产品的实例化推迟到子类。2.客户端只需要知道用哪个工厂,提供的类型也可以用比较便于识别

2015-09-13 10:43:43 348

原创 c++构造函数&析构函数

构造函数        c++有普通构造函数,拷贝构造函数,赋值构造函数三类,当然同一类可以重载出多个不同的版本。如果我们构建类的时候没有书写相应的构造函数,那么当需要这些函数的时候,编译器会自己创建出来。        A a;         // 调用普通构造函数        A b=a;    // 注意:这里调用的是拷贝构造函数(笔者在vs和vim下都测试过)     

2015-09-06 22:13:21 510

原创 c++运算符重载

成员函数&友元函数        运算符重载有两种形式,一种是类的成员函数,一种是类的友元函数。成员函数传递的是一个参数,例如C3=C1+C2,实际上等于C3=C1.operator+(C2),这里隐含一个this指针,只有C2作为参数传递。如果重载为友元函数,C3=C1+C2,实际上等于C3=operator+(C1,C2),没有this指针,C1和C2都作为参数传递。        如

2015-09-05 15:06:10 379

原创 c++ 友元类&友元函数

c++类机制实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的。有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该类的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成

2015-09-04 14:44:32 455

原创 linux运行、关闭、查看后台任务

一、&加命令后面,将命令放到后台执行,如cat &,二、ctrl + z将正在前台执行的命令放到后台,并且处于暂停状态,不可执行三、jobs查看当前shell环境中后台正在运行或被挂起的任务 -l选项可显示所有任务的PID,任务状态可以是running, stopped, Terminated,如果任务被终止了(kill),shell 会从当前shell环境列表中删除任务的

2015-08-29 14:57:25 1746

原创 const用法总结

const修饰的东西被强制保护,防止意外的修改,能提高程序的健壮性。1:用const修饰函数的参数const只能修饰输入参数,

2014-12-12 16:56:09 585

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除