自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Leo的博客

记录开发的点滴,更好的阅读体验请访问:leehao.me

  • 博客(7)
  • 资源 (4)
  • 收藏
  • 关注

原创 编译防火墙——C++的Pimpl惯用法解析

Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解耦的方法。这个技巧可以避免在头文件中暴露私有细节(见下图1),因此是促进API接口与实现保持完全分离的重要机制。但是Pimpl并不是严格意义上的设计模式(它是受制于C++特定限制的变通方案),这种惯用法可以看作桥接设计模式的一种特例。图1: Pimpl惯用法,这里的公有类拥有

2015-08-30 19:55:06 18203 8

原创 设计模式之策略(Strategy)模式

Strategy模式是一种行为型设计模式,它将算法一个个封装起来,在某一时刻能够互换地使用其中的一个算法。从概念上看,所有这些算法完成的都是相同的工作,只是实现不同而已。动机在开发中,我们常常会遇到概念上相同,处理方法不同的任务,例如,对一件商品使用不同的税额计算方法来计算其价格。一般来说,有以下的方法来处理: 复制和粘贴(一份代码具有两个版本,维护成本大)使用switch或者if语句,用一个变

2015-08-26 19:51:24 4137 2

原创 组合(Composite)模式

定义Composite模式是一种结构型设计模式,它将对象组合成树形结构以表示“部分-整体“的层次结构,并使用户对单个对象和组合对象的使用具有一致性。动机当处理树形结构的数据时,我们常常需要区别对待叶子结点和内部结点,这使得代码更加复杂,以至于容易出错。因此,如果有一种方法,可以使我们可以统一处理叶子结点和内部结点,那么,对于我们提高代码的质量是十分有帮助的。 Composite模式正是这样一种设计

2015-08-24 21:27:48 1190

原创 封装算法: 模板方法(Template Method)模式

template method(模板方法)模式是一种行为型设计模式,它在一个方法中定义了算法的骨架(这个方法被称为template method,模板方法),并将算法的具体步骤放到具体的子类中去实现。template method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。需要指出的是,这里所说的template并不是c++中的模板。适用性算法的骨架事先已确定,只是算法的某些步骤

2015-08-24 14:24:52 2288

原创 Git flow的分支模型与及常用命令简介

Git flow是git的一个扩展集,它基于Vincent Driessen 的分支模型,文章“A successful Git branching model”对这一分支模型进行了描述,其示意图如下:Git flow的源码可以通过以下链接下载: https://github.com/nvie/gitflow或者,直接输入以下命令安装git flow: apt-get install gi

2015-08-19 22:35:38 10270

原创 Windows环境下msysgit安装git flow

git flow是git的一个扩展集,它基于Vincent Driessen 的分支模型,可以用来简化代码的版本发布流程。本文讲述如何为msysgit安装git flow。下载getopt.exegetopt.exe的下载链接:http://downloads.sourceforge.net/gnuwin32/util-linux-ng-2.14.1-bin.zip解压,进入bin目录,复制其中的g

2015-08-18 18:00:26 3231

原创 使用virtualenv, uwsgi, nginx来布署flask

本文讲述了如何使用virtualenv, uwsgi, nginx来布署flask的步骤。升级软件包执行以下命令,保证你的vps安装了最新的软件包。 sudo apt-get update sudo apt-get upgrade安装python和virtualenv sudo apt-get install build-essential python-dev python-pip

2015-08-18 10:10:59 9439 3

matlab中文帮助文档

matlab中文帮助文档,学习matlab的好帮手,各位有福啦。

2011-02-05

86版五笔字根表,经典,好用

86版五笔字根表,经典,好用,还包括了字根背诵口诀。

2011-02-05

01背包问题及变种详解

经典的背包问题九讲文档,包含了01背包及其变种的详细解释。

2011-01-28

POJ水题集--50道--增加自信

POJ水题集-----50道左右-----增加自信啊..

2010-12-23

空空如也

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

TA关注的人

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