- 博客(199)
- 资源 (53)
- 收藏
- 关注
翻译 GoF设计模式概览
以文本和思维导图的方式简明扼要的介绍了GoF的23个经典设计模式,可当成学习设计模式的一个小手册,偶尔看一下,说不定会对大师的思想精髓有新的领悟。GoF(“四人帮”,又称Gang of Four,即Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides)创建型模式(5个):单例模式、原型模式、建造者模式、工厂模式、抽象工厂
2014-09-10 13:05:54 1154
翻译 C++设计模式——中介者模式
在没有引入星形网络拓扑图之前,计算机之间可以直接通信,但如果某台计算机要和其它多台计算机进行通信,则这台计算机必须认识所要进行通信的其余计算机。计算机与计算机之间存在多对多的关系,导致计算机之间关系非常复杂。引入星形网络拓扑图之后,计算机之间不再直接进行通信,而是由交换机进行处理。计算机不需要认识其它的计算机,只需要认识交换机就可以了。计算机之间的关系从多对多变成了一对多。在设计模式中也存在类似的
2014-09-09 21:38:40 1123
翻译 C++设计模式——外观模式
自己有过组装电脑的人都知道,需要到电子市场去购买CPU、主板、硬盘、内存、显示器、光驱等配件。这个方案是好,但需要对各种配件都比较熟悉,这样才能选择最合适的配件,而且还需要考虑配件之间的兼容性。还有一个方案,就是到电子城,找一家专门组装电脑的公司,把自己的要求提出来,然后等着提电脑就好了。我们不需要关心要购买什么样的配件,也不需要知道电脑是如何组装起来的,所有这些操作都交给电脑组装公司,由它代为完
2014-09-09 21:24:29 1115
翻译 C++设计模式——状态模式
在阐述状态模式之前,先来看一个例子。一个银行取款问题: 如果账户余额大于0,则正常取款;如果余额在-2000和0之间,则透支取款;如果余额小于-2000,则账户处于冻结状态,无法进行取款操作。 实现代码如下://银行账户class Account{private: //余额 int m_nBalance; public: //取款操作 void WithDr
2014-09-09 20:53:34 1067
翻译 C++设计模式——适配器模式(对象适配器、类适配器)
前言 现在的笔记本都只存在USB接口,用来口,电脑上存在的是USB接口,两者如何通信呢?可以使用USB转串口线连接电脑和嵌入式设备,其中USB一端连接电脑、串口和外部设备进行通信。然而在一些嵌入式设备上(例如ARM9),通常使用串口和电脑进行通信。嵌入式设备上存在的是串一端连接嵌入式设备。本来电脑和嵌入式设备由于接口不兼容,无法进行通信,而使用USB转串口线这个适配器,两者之间就可以正
2014-09-09 20:34:33 1418
翻译 C++设计模式——策略模式
前言这两年,中国好声音席卷全国,深受观众的青睐,收视率也创造了新高。无论你是否身份低微或是高富帅,都可以通过好声音这个平台,实现自己的明星梦。紧随其后,中国好舞蹈等节目铺天盖地席卷而来,给选手一个圆梦的机会。如果想实现明星梦,可以参加中国好声音,也可以参加中国好舞蹈这些节目,还可以参加星光大道,或者像筷子兄弟一样,拍摄MV。实现明星梦的方式很多,根据自己的喜爱选择其中的一种方式。在设计模式
2014-09-09 19:43:51 749
翻译 创建型模式总结
流行的设计模式中,一共有这几种工厂模式:抽象工厂、工厂方法、简单工厂。所谓“工厂”这个名词在设计模式领域中表示的就是一个委托与被委托的关系,与多态无关。简单工厂:将创建类B的职责委托给类A执行,类A就是生产类B的工厂;类B就是产品。注意,在简单工厂中只体现了职责的委托,没有父类和子类等继承关系。工厂方法:将创建类B的职责委托给类A来执行,类B是抽象的,它有多个子类;类A也是抽象的,
2014-09-09 17:08:03 733
翻译 C++设计模式——单例模式
神州上下五千年,为了抵御匈奴的入侵,无数的人民投入到兴建万里长城浩瀚的工程中。也正因为有这些劳动人民辛勤的付出,才有了今天世界八大奇迹之一-----独一无二的万里长城。在软件开发中,同样存在这种唯一的实例,它就是接下来要讲的单例模式。1、单例模式:单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统
2014-09-09 16:22:43 919
翻译 C++设计模式——模版方法
临近毕业,很多人都会到人才网发布简历以寻求符合自己要求的岗位。登陆人才网,系统会给我们提供一份统一的模板,我们只需要按照要求填写个人信息、教育背景、工作经历、项目经验等内容就可以了。虽然大家都是使用相同的模板,但每个人填写的求职信息各不相同,简历也就各不一样。在设计模式中,也存在类似的一种模式。实现某个功能需要多个步骤,其中有些步骤是固定的,有些步骤是不固定的,存在可变性,提供一个模板方法来定义这
2014-09-09 16:05:58 741
翻译 C++设计模式——原型模式
P书上的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。其中有一个词很重要,那就是拷贝。可以说,拷贝是原型模式的精髓所在。举个现实中的例子来介绍原型模式。找工作的时候,我们需要准备简历。假设没有打印设备,因此需手写简历,这些简历的内容都是一样的。这样有个缺陷,如果要修改简历中的某项,那么所有已写好的简历都要修改,工作量很大。随着科技的进步,出现了打印设备。我们只需手写一份,
2014-09-09 15:52:25 729
翻译 C++设计模式——建造者模式(一般模式,省略指挥者、引入钩子)
在内蒙古这辽阔的草原上,放养着成千上万的奶牛。蒙牛集团在这里崛起,迅速抢占中国大半牛奶市场,造就了一个商业帝国。蒙牛集团牛奶生产流程大致是这样的: 放养奶牛--->牛奶加工--->牛奶包装--->销售。经历从放养奶牛到进行市场销售这一系列环节,蒙牛牛奶才得以诞生。虽然生产流程比这个流程还复杂,但对客户而言,根本不需要知道牛奶生产的细节,只需要到超市购买就行了。在设计模式中,也存在一个类似的模式,封
2014-09-08 21:12:07 1145
翻译 C++设计模式——抽象工厂模式(含实例)
伟创力(世界500强企业),公司有笔记本生产车间、电视机车间、空调车间、电话生产等车间,各生产车间各行其责,生产出不同类型的产品。伟创力不再是生产单一产品的企业,而是生产出多种不同类型的产品,各产品属于不同产品等级结构中。在设计模式中,也存在一种类似的模式,可以创建一系列产品,这些产品位于不同产品等级结构,产品之间可以没有任何联系,但他们组合起来,可以成为一个产品族,称之为抽象工厂模式。
2014-09-08 20:35:42 5779
翻译 C++设计模式——工厂方法及工厂方法的隐藏实现(qq空间背景的例子)
1、工厂方法模式概述 在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它需要知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂
2014-09-08 19:50:54 1226
翻译 C++设计模式——简单工厂模式及具体应用(含例子)
一.简单工厂模式又称静态工厂方法模式(Static Factory Method),它不是Gof 所讲的23种设计模式之一,但是它却是我们在编码过程中经常使用的方法之一。 1.静态工厂方法统一管理对象的创建。静态工厂方法通过传入的参数判断决定创建哪一个产品的实例,封装了对象的创建,客户端只管消费,实现了对责任(模块)的分割。2.静态工厂方法推迟了产品的实例化。通过XML
2014-09-08 17:36:25 3653 1
原创 silverlight 利用poup和定时器写自动消失的框
新建自定义控件:<UserControl x:Class="EasySL.UI.Dialogs.PopupBorder" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
2013-11-18 11:09:55 987
翻译 MongoDB优化的几点原则
1.查询优化确认你的查询是否充分利用到了索引,用explain命令查看一下查询执行的情况,添加必要的索引,避免扫表操作。2.搞清你的热数据大小可能你的数据集非常大,但是这并不那么重要,重要的是你的热数据集有多大,你经常访问的数据有多大(包括经常访问的数据和所有索引数据)。使用MongoDB,你最好保证你的热数据在你机器的内存大小之下,保证内存能容纳所有热数据。3.选择正确的文件系统
2013-11-12 16:52:25 2366
翻译 MongoDB在windows下安装配置
MongoDB在windows下安装配置安装文件:官方网站 http://www.mongodb.org/downloads选择对应系统的文件下载。一、解压缩文件。 将压缩包解压,在D盘创建文件夹MongoDB,将压缩包中所有的.exe文件拷到D:MongoDB文件夹中。二、建立工作目录。 1、建立数据存放目录 D:\mongodb\data 2、建立日志文件
2013-10-15 12:07:43 775
翻译 在windowless=true的条件下让silverlight输入中文
让silverlight在windowless=ture的条件下输入中文。大家都知道,silverligt2.0 和最新的3.0再windowless=true的条件下都无法输入中文,那么我们就必须采用一种迂回的方式解决。 有以下几种方式可以考虑: 1、在代码执行过程中动态改变windowless 属性。最初的想法是党textbox获取焦点的时候,让windowless =fl
2013-10-02 11:39:30 2553
原创 C#批量导入text到数据库sqlserver
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
2013-09-24 16:54:08 1348
原创 sql批量导入外部数据excel到sqlserver
SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\test\xltest.xls', [Customers$])结果提示: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'Ope
2013-09-24 16:53:39 1662
翻译 vs2005 vs2008 vs2010间工程的转换
安装了VS2010后,用它打开以前的VS2005项目或VS2008项目,都会被强制转换为VS2010的项目,给没有装VS2010的电脑带来不能打开高版本项目的麻烦。用记事本打开解决方案:开头的两行VS2010Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2010
2013-08-28 11:14:07 636
翻译 windows下PHP环境搭建-PHP+Apache+MySQL
PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。 一、准备工作-下载所需软件Apache httpd-2.2.
2013-08-27 00:26:13 866
翻译 有道手机归属地、邮政编码查询等API 实例
这几个接口都是以URL GET方式提交参数,以XML的形式返回查询结果查询IP地址:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址举例:http://www.youdao.com/smartresul ... amp;q=123.233.157.9返回:123.233.157
2013-07-20 10:45:46 1012
翻译 C#文件下载方法 汇总
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.W
2013-06-29 12:57:08 697
转载 tar 解压缩命令
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出
2013-06-12 14:26:04 602
翻译 ubuntu安装matlab2009b详细步骤及中文乱码解决方法。
安装步骤:step1:挂载matlab_unix_2009b.iso到/mnt/matlabsudo mkdir /mnt/matlab2009/sudo mount /home/fly/下载/matlab/matlab_unix_2009b.iso /mnt/matlab2009/ -o loop step2:保证/opt/matla
2013-06-12 10:53:56 2443
翻译 oracle序列的建立及修改
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 ST
2013-05-16 16:35:45 4088
翻译 JAVA环境变量配置
配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:/java/jdk1.5.0_08; 2.安装完成后,右击“我的电脑”,点击“属性”; 3.选择“高级”选项卡,点击“环境变量”; 4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击
2013-04-24 17:06:43 615
原创 sql选择插入多行数据到同一表中的几种方法汇总
首先创建一个表,create table a( name varchar2(10)) 1、然后插入数据insert all into a values(1) into a values(3) into a values(5) into a values(1) into a values(3) into a values(5) select * fro
2013-02-28 12:34:28 3156
翻译 C#中怎么判断字符串为空的几种方法
1. 三种常用的字符串判空串方法:Length法:bool isEmpty = (str.Length == 0);Empty法:bool isEmpty = (str == String.Empty);General法:bool isEmpty = (str == "");2. 深入内部机制:要探讨这三种方法的内部机制,我们得首先看看.NET是怎样实现的,也就是要看看
2013-02-25 21:31:57 1297
原创 oracle存储过程之insert的使用,含游标的使用
body部分:-- 获取指定计划的指定阶段的指定修改次数的计划类型编号和名称 by shiwei --变更阶段使用 procedure proc_sy_syjs_getAProChange(proID in jwxt.sy_syjs_audit.FProID%type, historyStag
2013-01-17 13:58:58 4283
原创 oracle存储过程使用实例之update的使用
update使用实例body部分 --更新变更 procedure proc_sy_syjs_updateChangeItem( fcoursecode in jwxt.sy_syjs_proitem.fcoursecode%type, fcoursename in jwxt.sy_syjs_proi
2013-01-17 13:55:13 817
原创 C#中正则表达式的使用实例
C#中正则表达式的使用 /// /// 判断修改数据的格式是否符合要求 /// /// /// /// /// /// private bool isPatternValid(string m_strIsTimLim, string m_str
2013-01-17 13:48:48 776
原创 【SQL】oracle date类型格式化输出
select fautocounter,fprocessid,FProTypeID,FProTypeName,FWorkstepName,FIsTimLim,FBeginTime,to_char(FBeginTime,'yyyy/mm/dd hh24:mi:ss') as RFBeginTime,FEndTime,to_char(FEndTime,'yyyy/mm/dd hh24:mi:ss')
2013-01-17 13:46:01 2793
原创 正则表达式 年月日时分秒格式匹配,如: 2012/02/05 19:50:50
^\d{4}[/]([0][1-9]|(1[0-2]))[/]([1-9]|([012]\d)|(3[01]))([ \t\n\x0B\f\r])(([0-1]{1}[0-9]{1})|([2]{1}[0-4]{1}))([:])(([0-5]{1}[0-9]{1}|[6]{1}[0]{1}))([:])((([0-5]{1}[0-9]{1}|[6]{1}[0]{1})))$年月日时分秒格式匹
2013-01-17 13:17:14 22717 2
原创 C# WinForm下DataGridView导出生成Excel
public static void ExportExcel(string fileName, DataGridView myDGV) { if (myDGV.Rows.Count > 0) { string saveFileName = ""; //bool file
2013-01-06 17:25:59 12233 4
原创 windows 下java 、android环境配置
在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。本文的主题如下:1、环境搭建1.1、JDK安装1.2、Eclipse安装1.3、Android SDK安装1.4、ADT安装1.5、创建AVD2、HelloWorld1、环境搭建1.1、JDK安装如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一
2013-01-06 15:28:44 2103
翻译 ubuntu下的异步网络通信实例
什么是异步通讯?就是通讯任意一方可以任意发送消息,有消息来到时会收到系统提示去接收消息。这里要用到select函数。使用步骤如下:1、设置一个集合变量,用来存放所有要判断的句柄(file descriptors:即我们建立的每个socket、用open打开的每个文件等)2、把需要判断的句柄加入到集合里3、设置判断时间4、开始等待,即select5、如果在设定的时间内
2013-01-04 20:31:15 802
原创 EasyBSD修复双系统下Ubuntu的启动项
1. 管理员身份启动EasyBSD,选择Add New Enty,选择右侧的Operating Systems----> Linux/BSD ,其中Type选择GRUB 2,最后确定,Add Entry,如下图:2.重新系统3.over
2012-12-16 17:02:05 2028
企业应用架构模式-中文版(软件开发必备)
2011-03-23
软件工程课程设计(飞机订票系统Java)数据库建表以及文档齐全jsp
2011-03-20
java飞机订票系统详细设计报告
2011-03-20
雇员信息管理系统、华容道、投票系统 网上书店设计说明书(含java源码)
2011-03-15
JAVA固定资产管理系统课程设计说明书(含需求分析 总体设计等)
2011-03-15
JAVA汉诺塔可视化设计(含源码)
2011-03-15
JAVA雇员信息管理系统(含源码和系统分析)
2011-03-15
JAVA个人通讯录管理程序)
2011-03-15
JAVA多用户五子棋游戏 (含源码和课设报告)
2011-03-15
国际数学建模竞赛——数学专业词汇(汇总)精华版(必看)
2011-03-15
2011MCMwashington大学比赛论文
2011-03-15
05-10mcm试题英文版(备战必备)
2011-02-17
变分法应用实例(建模必备)
2011-02-17
mcm-CTex模板
2011-02-17
Secrets of the Mathematical Contest in Modeling
2011-02-17
美赛论文--历年数学建模优秀论文大全
2011-02-07
数学建模必须掌握的统计模型
2011-01-31
官方 美赛论文格式International mathematical modeling contest paper format
2011-01-28
EndNote 中文教程
2011-01-18
数据库原理课程设计--客房预订系统
2011-01-17
酒店客房管理系统设计论文
2011-01-17
软件工程课程设计----酒店客房管理系统
2011-01-17
酒店客房管理系统软件详细设计
2011-01-17
酒店管理信息系统分析报告
2011-01-17
网上酒店客房管理系统的设计与实现
2011-01-17
酒店客房管理系统(ASP.NET)
2011-01-17
酒店管理系统 (源码)
2011-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人