设计模式---空对象模式(C++实现)
在空对象模式中(Null Object Pattern )中 , 一个空对象取代NULL对象实例的检查。Null对象不是检查空值,而是反应一个不做任何动作的关系。这样的Null对象 也可以在数据不可用的时候提供默认的行为。
在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方
设计模式---策略模式(C++实现)
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。
在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。
意图
定义一系列的算法,把它们一个个封装起来,并且使他们可以互相替换
解决问题
在有多
设计模式---模板模式(C++实现)
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
意图
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
解决问题
一些方
设计模式---访问者模式(C++实现)
在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。
根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。
意图
主要将数据结构和数据操作分离。
解决问题
稳定的数据结构和易变的操作耦合
STL之vector基本使用实例
最近复习STL,对于vector的一些功能知道,但是就忘记了函数名是啥了,这就很尴尬,所以把经常使用的方法都用了,也方便以后回顾。
vector基本方法-->看图:
test_code:
void test_vector()
{
vector vec;
vec.push_back(1);
vec.push_back(3);
vec.push_back(
STL之list基本使用实例
list其实就是双向链表,好好复习list的使用。
Cplusplus描述的list方法:
基本操作实例:
void test_list()
{
list pList;
cout << "push_back() , pop_back() ,begin() , end()测试:" << endl;
pList.push_back(1); //尾插
pList.
STL之set、map基本使用实例
set和map都是关联式容器,二者都对内部元素默认排序:升序。
set是key结构 , map是key-value结构;
set可以去重 , map重载了[ ],查询速度快;
set包含的基本方法:
map的基本方法:
使用这些函数的实例:
void test_set()
{
//set是 key结构的,是关联式容器,对插入的元素自动排序,默认是升序
VS2013多字节工程问题
使用VS2013编译旧版VC++程序时,提示Building an MFC project for a non-Unicode character set is deprecated,微软提供了解决方案。
我是把VC6.0上面的程序拿到 VS2013上面运行了,结果出现了如下的错误:
1、错误信息
------ 已启动全部重新生成: 项目: Server, 配置:
javax.persistence.Temporal @Temporal 使用过程中的释疑
最近自己在使用JPA过程中接连遇到一些问题,决定深入研究一下。
以下为@Temporal标注的用法:
(A) 如果在某类中有Date类型的属性,数据库中存储可能是'yyyy-MM-dd hh:MM:ss'要在查询时获得年月日,在该属性上标 注
@Temporal(TemporalType.DATE) 会得到形如'yyyy-
SQL----- truncate、delete、drop的区别与联系
相同点:
1. truncate 和不带where子句的delete、以及drop都会删除表中的数据;
2. drop 、truncate 都是DDL语句(数据定义语言),执行后会自动提交。
区别:
1. truncate 和delete只删除数据不删除表的结构;
drop会删除表被依赖的约束、触发器、索引,依赖于该表的存储过程/函数保留但变为invalid状
DELL 笔记本 触摸板 驱动安装 与 禁用启动
当发现我们的触摸板不可以用(或需要禁用)的时候,触摸板控制选项卡没有!!很是着急。最后发现是触摸板驱动没有了。想下载又不知道该去哪下载。现在我来演示一下。操作系统:Win7(64bit)1.安装触摸板驱动没有安装驱动的鼠标设置窗口如下图:想启动或禁止触摸板都不知道在哪儿,急急急不用怕,首先你的鼠标属性中没有触摸板的选项卡是因为缺少驱动安装驱动:下载地址:http://www.del...
SiteMesh3使用介绍及配置方法
1.简单介绍Sitemesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’技术。参考:百度百科. 官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home 。2.sitemesh3 相关jar包下载 GitHub 地址:https://github.com/sitemesh/site...
CSS clearfix 清除浮动 用法详解
一.为什使用 首先,我们来解释一下为什么要使用 clearfix(清除浮动)。 通常我们在写html+css的时候,如果一个父级元素内部的子元素是浮动的(float),那么常会发生父元素不能被子元素正常撑开的情况,如下图所示: ...
HashMap 和 HashTable 的不同
1.代码版本不同 HashMap与HashTable出现在jdk的版本不同,HashTable产生于JDK 1.1,而HashMap产生于JDK 1.2。从时间角度上考量,HashMap要比HashTable出现得晚一些。2.作者不同 以下是HashMap的作者: 以下代码及注释来自java.util.HashTable HashMap和Hash...
Latex中插图总结(一)
写在前面的话CSDN中的数据库保存是不是有问题,我之前写了很多的,存在草稿箱里的最后竟然没有在了。真是郁闷死个人。亏我写了这么多,以后写完要保存了。泪目。Latex的插图在Latex中使用插图一般有两种方式,一种是插入事先准备好的图片,另一种是使用Latex代码直接在文档中画图。我们一般常见的使用都是第一种,准备好图片,然后直接插入在我们文档当中。只有一些特殊情况需要用大量代码作图。插图功能不是有L
周排行