- 博客(83)
- 收藏
- 关注
转载 decorator pattern -- 装饰模式
Decorator,装饰模式就是使“对象功能的扩展”能够根据需要来动态地实现,同时可以避免“扩展功能的增多”导致子类数量急剧增多,从而使得任何“功能扩展变化”所产生的负面影响降为最低。Decorator提供了一种给类增加职责的方法,不是通过继承实现,而是组合。举例,一辆汽车 1 class car 2 { 3 public: 4 ...
2012-12-20 00:04:00 159
转载 composite pattern -- 组合模式
composite pattern称为组合模式在面向对象的系统中,我们经常会遇到一类具有"容器"特征的对象,即它们在充当对象的同时,又是其他对象的容器。“Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individua...
2012-12-19 00:35:00 146
转载 bridge pattern -- 桥接模式
Bridge模式又称为Handle/Body模式。在软件系统中,经常面临着“某些结构复杂的对象”的创建工作,由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。大部分创建型模式,就是为了解决如何向“客户程序”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求的改变而改变。实例分析奔驰汽车的制动距离(从这个速度到完全停止...
2012-12-18 00:55:00 191
转载 adapter pattern--适配器模式
adapter pattern,又称wrapper(包装) pattern在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。Adapter设计模式就是为了应对这种“迁移的变化”,以使客户系统既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口。“Convert the interface...
2012-12-16 23:59:00 111
转载 prototype pattern--原型模式
prototype pattern称为原型模式在软件系统中,经常面临着“某些结构复杂的对象”的创建工作,由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。Prototype设计模式,就是为了解决如何向“客户程序”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求的改变而改变。Prototype设计模式指定创建对象的种类,然后通过...
2012-12-14 00:15:00 82
转载 builder pattern--建造者模式
buildre pattern称建造者模式Builder设计模式,提供一种封装机制来隔离出构成复杂对象的各个子对象的变化,从而保持系统中的相对稳定的将这些子对象组合在一起的算法不随着需求的改变而改变。Separate the construction of a complex object from its representation so that the same c...
2012-12-13 01:22:00 86
转载 abstract factory pattern--抽象工厂模式
abstract factory pattern,抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。Abstract Factory模式存在的意义就是为了创建各系列的对象而存在的。相对Factory Method模式的解决“单个对象”的需求变化,Abstract Factory模式解决“系列相关对象”的需求变化。明确的理解就是抽象工厂模式提供多个...
2012-12-12 02:11:00 76
转载 factory mothed pattern--工厂方法模式
factory mothed pattern,称工厂方法模式首先我们看看Gof怎么定义工厂方法模式的:“Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instant...
2012-12-11 01:37:00 68
转载 singleton pattern--单件模式
singleton pattern,又称单件模式,或者单例模式。singleton要求类有且仅有一个实例,并给其他对象提供这一实例。控制类实例仅有一个,办法有两个:1.私有化构造函数与copy构造函数,使用一个函数静态变量 1 #include <iostream> 2 class People{ 3 private: 4 ...
2012-12-10 00:54:00 83
转载 临时对象的来源
大家可能对这个临时对象这个概念还不是很清楚,那么首先我们花一些时间来理解临时对象。首先看下面一端代码: 1 #include <iostream> 2 void swap( int &a,int &b) 3 { 4 int temp; 5 temp=a; 6 a=b; 7 b=temp; ...
2012-12-07 01:22:00 98
转载 C++继承
C++继承可以是单一继承或多重继承,每一个继承连接可以是public,protected,private也可以是virtual或non-virtual。然后是各个成员函数选项可以是virtual或non-virtual或pure virtual。本文仅仅作出一些关键点的验证。 public继承,例如下:1 class base2 {...}3 class der...
2012-11-02 09:52:00 179
转载 C++文件依存关系
如果现在你做的C++项目(课题)包含的文件没有超过1000个,你可以选择略过此文,不过建议继续浏览。如果你觉得重新编译文件的时间很短或者时间长一点无所谓,反正需要重新编译,那么你也可以选择略过此文,不过也建议浏览。如果你想学习或者关心这块内容,那么此文必定会给你带来收获。首先我不给出依存关系的定义,我给出一个例子。 1 class Peopel{ 2 public...
2012-11-01 09:17:00 159
转载 C++你最好不要做的
1、最好不要使用引用返回值有同学在传递的参数的时候使用引用方式传递,避免了临时对象的创建,提高了效率,那么在返回值的时候能不能使用引用呢?看如下代码 class Rational{ public: Raional( int numerator = 0, int denominator =1); ...
2012-10-31 09:43:00 122
转载 C++你可能不知道地方
c++中编译器替我们完成了许多事情,我们可能不知道,但也可能习以为常。下面详细介绍一、初始化与初始赋值首先说说类的初始化与初始赋值之前的区别,这也许里面可能有我们不知道的事情。 其实类初始化与初始赋值还是有区别的。 1 class People{ 2 public: 3 People(st...
2012-10-29 10:24:00 79
转载 成员函数与非成员函数的抉择
1.尽量用类的非成员函数以及友元函数替换类的成员函数例如一个类来模拟人People1 class People{2 public:3 ...4 void Getup( );5 void Washing( );6 void eating( );...
2012-10-25 11:01:00 172
转载 std::invalid_argument应用
首先说明invalid_argument是一个类(classinvalid_argument;),它的继承关系如下exception-------->logic_error--------->invalid_argument invalid_argument原型是1 class invalid_argument:public logic_error {...
2012-10-23 16:02:00 3379
转载 尽量不要使用#define,而是用const、enum、inline替换。
为什么这么说呢?或许很多程序员已经习惯在文件开始使用大量的#define语句。例如:这里程序文件开头有如下#define语句#define N 10 #define PI 3.14 #define MAX ...
2012-10-20 12:22:00 247
转载 #include是怎么样工作的?
大多数园友可能对“#include”比较熟悉,因为我们写C/C++程序的时候都会写的字符串之一,但是它是具体怎么工作的?或者它的原理是什么呢?可能不太熟悉,也有可能没有去关心过。我们只关心程序能否正确运行,或者程序怎么实现等等一些问题。 这里笔者就为介绍下我们熟悉又不太熟悉的“#include”,首先我们了解下C/C++头文件。 头文件为相关声明提供了一个集中存在的...
2012-07-20 09:32:00 214
转载 一道有趣的智力题
题目:有12个外观完全一样的球,其中有一个球和其他球的重量不一致,如何使用一个天平称3次得出不一致的球是哪个?笔者看到这题就立马想到将球分成3组,将其中的两组进行比较,然后如果不相等,就将重的那组进行两两划分,在比较,在将两个重的进行比较在进行比较。如果相等则将余下的那组进行比较。相信这里有不少园友发现不是比重,也有可能轻。题外话:这里写篇博文,就是要告诫作者自己,细心点,做一个...
2012-07-12 09:56:00 136
转载 对Html5 Web App 的背景调查研究
最近好久没有写文章了,原因是笔者最近接了一个项目,另外去广东移动珠海分公司实习。这里是花了一天时间整理的关于Html5 Web App方向的调研。虽说Android 平台开发或者Mac os X 平台开发以及Windows Phone 7平台开发。开发的程序都只能在各自手机系统上运行,如果实现开发出一种程序,能再以上任何系统上运行,那是多么美好的事情。而Html5 Mobile We...
2011-09-07 08:49:00 137
转载 KMP算法
KMP算法是字符串处理算法的一种经典算法。字符串中的一些算法在C++中需要编程者自己实现,在C#中的话String类的功能及其强大,编程者自己调用该类一些功能完成字符串处理。那么可能就导致错过这些字符串基本的经典算法。而在字符串处理这些算法中,KMP算法可谓是经典算法。 那么首先看下面一个一般求子串在主串中的位置的算法。模式匹配 有两个字符串S1(长度为n)和S2(长...
2011-04-06 08:48:00 64
转载 编程基本算法(三)
编程基本算法(一)编程基本算法(二)编程基本算法(三)选择排序使用条件:可对比大小的集合。算法思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。举例编程:int b[10]={77,1,65,13,81,93,10,5,23,17}//简单选择排序void Si...
2011-03-25 10:44:00 72
转载 编程基本算法(二)
在写此文章之前,笔者想说说关于程序员的基本知识,好多园友在博客园上谈论自己的工作经历,或者给毕业生的建议,笔者很赞同期中园友建议在同学在学校里将计算机基础打好,没有良好基础怎么能建大厦呢?有了一些基础基本知识,在去学习深的理论就是事半功倍了,如果是先遇到深理论在去学习相关的基础,那就是事倍功半了。也许许多同学会说,现在的很多企业都招能直接上手的,笔者首先想说那种企业肯定是小企业,鼠目寸光...
2011-03-24 10:33:00 80
转载 编程基本算法(一)
笔者好长时间没有更新博客了,一个原因是开发的项目所用到的技术都是老技术点,所接触到的知识都是行业逻辑流程,所以只是自己做了总结并没有拿上来分享。另外一个原因是目前笔者在重新学习C++语言以及计算机的一些基本知识(算法等)。 下面的代码为C++代码,好了直接进入正题 编程基本算法(一) 编程基本算法(二) 编程基本算法(三) 折半查找...
2011-03-23 08:33:00 92
转载 ASP.NET调用.sql文件(二)
笔者前一阵子发表了一篇《ASP.NET调用.sql文件》文章,主要是是解决数据库配置,减去传统手工附加数据库和自己改写web.config文件等等这些复杂的过程,而是配置的向导。其中给出关键的技术知识点,就是通过sql数据库生成数据库脚本即.sql文件,然后通过调用osql.exe来执行.sql文件。 这里,园友首先质疑了其安全性,认为程序存在被他人利用的危险。笔者对这方面没有...
2010-11-26 08:42:00 162
转载 ASP.NET调用.sql文件
笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个页面,然后根据向导一步一步引导用户安装生成数据库”那么这样做就需要一个创建数据库的语句和创建这些数据库表的语句,还有这些创建数据库视图以及函数的语句。创建数据库语句好办"IF Not EXISTS (select name from m...
2010-11-17 08:32:00 140
转载 权限设计
笔者不才看了园子里面很多园友写关于权限设计这块内容,那么笔者也在添一笔。这个是笔者在上完软件工程课程后,上交的一篇笔者论文,这里分享给大家交流,当然笔者经验尚浅,若内容有误,请大家指点出来,若大家有什么更好的想法,请提出来共同学习。一.引言 在软件开发中, 从操作系统到一个仅仅能够发布文章的网站,都要涉及到权限的管理。在Windows 操作系统中,存在用户、组的概念。当一个...
2010-09-13 08:36:00 221
转载 Asp.net中文件的压缩与解压
这里笔者为大家介绍在asp.net中使用文件的压缩与解压。在asp.net中使用压缩给大家带来的好处是显而易见的,首先是减小了服务器端文件存储的空间,其次下载时候下载的是压缩文件想必也会有效果吧,特别是比较大的文件。有的客户可能会很粗心上传的是文件,那么可以通过判断后缀名来判断文件,不是压缩文件,就可以压缩文件,在存储。 这里笔者引用了一个DLL文件(ICSharpCode.S...
2010-09-03 08:27:00 174
转载 概括ADO.NET数据库连接的所有形式(基础)
可能大家进来会喷笔者,这么基础的知识还放在首页。那么笔者就要问问大家了,你可能熟悉其中部分数据库读取的形式,但是熟悉全部的估计很少,或者你完全忘记了,因为这些形式被封装到你自己框架的底层,自己搞过一两次就在也没有动手写过了。但是笔者觉得这部分知识是应该牢固掌握的,这个是基础。好如果是已经掌握的大侠,看看笔者写的内容,提出点建议或者补充笔者的内容。 好了废话不多说看 第一种...
2010-09-02 08:32:00 85
转载 Meta标签——网站中必不可少的一部分
今天一个偶然的机会让笔者发现HTML语言中的META元素,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息。meta标签通常用来为搜索引擎robots定义页面主题,或者是定义用户浏览器上的cookie;它可以用于鉴别作者,设定页面格式,标注内容提要和关键字;还可以设置页面使其可以根据你定义的时间间隔刷新自己,以及设置RA...
2010-08-13 16:59:00 168
转载 HTTP协议
其实先前对这块知识笔者是不太在意的,因为笔者一直没有在编程中触及到相关的知识,昨天偶然机会看到一个程序中有一段这样的代码 <form id="form1" runat="server" method="post" > 其实记得method有Get和Post这两种传递方式,笔者曾经因为学习理论知识也了解过相关知识,但是一段时间之后差不过忘记这块知识。于是想写一篇关于HTTP...
2010-08-09 22:40:00 90
转载 3DMax模型输入到WPF中运行
其实看看笔者文章之前,可以在网上搜索下将3Dmax模型输入到WPF的办法,大部分结果都是这篇文章。这篇文章呢?有点麻烦,就是我们3Dmax模型转换到Blend的时候只有模型没有材质及贴图,需要在Blend3中自己添加材质贴图。模型简单在Blend添加是OK的,复杂点的话,那就麻烦了,笔者想还不直接用Blend建模型呢!还有一点笔者觉得用按钮控制飞机太麻烦了,可以用鼠标控制飞机啊。所以...
2010-07-28 17:10:00 283
转载 3D模型在网页上显示
3D模型在网页上显示,这绝对是未来的趋势,也是热门。一部“阿凡达”让电影节发生了一次地震,让人们感到3D的时代到来。那么我们IT界呢?如果各位因工作时间繁忙,或者嫌上海世博会人山人海,或者嫌天气太热不愿出门,可以选择在网页上遨游上海世博会。这个3D与网页这个以前敢都不敢想它们会连在一起的?如今实现了,当然可以说这个网页游世博不一定做的好,但是最起码让笔者看到这个方向的发展。 笔...
2010-07-27 12:39:00 827
转载 XAML简介
最近一段时间主要是在学习WPF,首先想介绍下XAML什么是XAML?XAML是esXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用户界面而创建的一种新的描述性语言。(百度百科)XAML是一种相对简单,通用的声明式编程语言,它适合构建和初始化.NET对象。XAML作用...
2010-07-08 10:29:00 330
转载 异步操作(三)
APM的轮询聚焦技巧 就从字面意思来理解,每隔一段时间来查询,异步操作的结果。而怎么实现轮询的方法了,这里就要谈到IAsyncResult接口。它定义了若干个只读属性public interface IAsyncResult{ Object AsyncState {get;} WaitHandle AsyncWaitHandle...
2010-05-08 12:14:00 114
转载 异步操作(二)
当然笔者认为触及这方面知识就就必须对委托很了解,这方面编程会用到委托,同时还要清楚C#为委托提供的语法便利,笔者发现异步操作和委托真是“绝配”了。笔者个人认为异步编程也会是将来的趋势,因为异步的程序(不能说绝对,但是大多数)效率还是比较高的。我们同时也在享受异步操作带来的优势,WEB服务器环境就是一个异步环境,每一个请求都是独立的线程。很难想象只能同步处理一个请求的WEB服务器有什么...
2010-05-07 11:16:00 167
转载 异步操作(一)
笔者想说说这里为什么谈异步操作。其实这里跟笔者大学学到的系统结构相似,笔者还记得老师要笔者经常做的习题,就是许多外部设备并行工作,具体流程是这样的:设备1向CPU发出数据传送请求,CPU处理请求,下达命令,并发生中断,设备1通过通道或DMA方式进行管理数据的传送,然后是设备2向CPU发出数据请求,CPU处理请求,下达命令,......设备1向CPU发出数据传送完毕请求,CPU作出相应...
2010-05-06 12:19:00 142
转载 数据和事件回发机制
其实这块知识在ASP.NET页面揭秘之页面生命周期都有提到过,但是并没有明确提出这个概念,在asp.net中通过视图机制实现两次页面请求之间的关联,视图区域信息存储在页面上的一个隐藏字段,里面存储每次需要视图机制保存的一些信息,每次提交时,都会以“客户端<==>服务器端”形式来回一次,当处理完成后,最后会以处理后的新结果作为新的视图信息存储到页面的隐藏字段,并与页面一起返回到...
2010-05-04 15:01:00 132
转载 浏览器刷新问题解决方案
相信大家也遇到一个问题(这个问题我经常遇到)那就是用户刷新当前显示页面,则服务器上采取的最后一个动作将盲目的重复。例如,如果前一次发送的结果是增加一条数据,则应用程序会在另一次回发时试图插入一个完全相同的数据。如图:这时我先在数据库添加一条记录(xiaofeng,11),然后刷新两遍浏览器得到的结果。页面刷新的基本原理 页面刷新是一种内部浏览器操作,对此浏览器不会根...
2010-04-29 12:28:00 346
转载 HTTP处理程序
在谈论HTTP处理程序之前先了解下Web服务器。 Web服务器是一个服务器应用程序,可以使用大量Internet协议,如HTTP,FTP,SMTP等等与之通信。IIS(windows操作系统自带的Web服务器)。 Web服务器通常还提供一个应用程序编程接口(API),来增强和自定义服务器功能。第一个扩展API是公共网关接口(Common Ga...
2010-04-28 13:01:00 105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人