07 2013 档案

摘要:下面是使用指责链模式的一个具体的实例,可以方便的理解指责链模式。其实指责链简单的来说,就是把一个指责的流程定义出来,像一条链路一样,每一个结点有自己的处理范围,若不能处理,则传到自己的引用的下一个结点。下面的实例也是这样的一个简单的流程。每一笔预算需要不同的人审核,不同的人有不同的审核范围,若款项在自己的处理范围之内,就可以直接处理掉,若不在自己的范围内,就传入到自己的上级进行处理。在写实例的时候,就需要用户把处理的过程给定义出来。既是把那条处理的链路定义出来。下面是示例的源代码:using System; using System.Collections.Generic; using Sys 阅读全文
posted @ 2013-07-29 21:39 旧事乡里人 阅读(348) 评论(0) 推荐(0)
摘要:一、职责链(Chainof Responsibility)模式责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。二、责任链模式的结构责任链模式涉及到的角色如下所示:抽象处理者(Handler)角色:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法,以设定和返回对下家的引用。这个角色通常由一个抽象类或接口实现。具体处理者(ConcreteHandler) 阅读全文
posted @ 2013-07-29 21:34 旧事乡里人 阅读(188) 评论(0) 推荐(0)
摘要:最近在练习使用STL中德各种容器,像vector,map,set之类的。然后在使用vector的时候,无意间遇到了一个很二逼的问题。主要是这样的,请看源码(C++)://错误的写法: #include "stdafx.h" #include #include #include using namespace std; int main() { vector MyVector; //这里是没有申明数量的,而下面用的下标访问,会出现错误 for(int i=0;i>a; return 0; } //改进的方法一 #include #include #include ... 阅读全文
posted @ 2013-07-27 09:58 旧事乡里人 阅读(234) 评论(0) 推荐(0)
摘要:本文主要是使用了STL中德map和set两个容器,使用了它们本身的一些功能函数(包括迭代器),介绍了它们的基本使用方式,是一个使用熟悉的过程。map的基本使用:#include "stdafx.h" #include #include #include #include #include using namespace std; int main() { //定义map对象 map myMap; myMap["jack"]=98.5; myMap["bomi"]=98.0; myMap["Kate"]=97.6; 阅读全文
posted @ 2013-07-27 09:51 旧事乡里人 阅读(213) 评论(0) 推荐(0)
摘要:以下是使用STL中map类型,对类型的转换示例,主要可以解决的问题,也就是一般的类型之间的相互转换,可以较好的解决相关的问题。以下是C++源码,比较简短,容易理解的。#include "stdafx.h" #include #include #include #include #include using namespace std; int main() { //定义map对象,将字符映射成为数字 map cTi; for(int i=0;i iTc; for(int i=0;i>k; return 0; } 一些细节的地方说明,请看源码中的注释... 阅读全文
posted @ 2013-07-27 09:43 旧事乡里人 阅读(231) 评论(0) 推荐(0)
摘要:题目:如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。注意,并不要求子串(字符串一)的字符必须连续出现在字符串二中。请编写一个函数,输入两个字符串,求它们的最长公共子串,并打印出最长公共子串。例如:输入两个字符串BDCABA和ABCBDAB,字符串BCBA和BDAB都是是它们的最长公共子串,则输出它们的长度4,并打印任意一个子串。分析:求最长公共子串(Longest CommonSubsequence, LCS)是一道非常经典的动态规划题。以下分析参见另外的一篇博文。步骤一、描述一个最长公共子序列先介绍LCS问题的性质:记Xm={x0, x1 阅读全文
posted @ 2013-07-26 14:36 旧事乡里人 阅读(316) 评论(0) 推荐(0)
摘要:一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。 由于动态规划解决的问题多数有重叠子问题这个特点,为减少重复计算,对每一个子问题只解一次,将其不同阶段的不同状态保存在一 阅读全文
posted @ 2013-07-26 13:22 旧事乡里人 阅读(178) 评论(0) 推荐(0)
摘要:C#关键字:abstract可以和类、方法、属性、索引器及事件一起使用,标识一个可以扩展但不能被实体化的、必须被实现的类或方法。as一个转换操作符,如果转换失败,就返回null。Base用于访问被派生类或构造中的同名成员隐藏的基类成员。catch定义一个代码块,在特定类型异常抛出时,执行块内代码。参见try和finally。checked既是操作符又是语句。确保编译器运行时,检查整数类型操作或转换时出现的溢出。const标识一个可在编译时计算出来的变量值,即一经指派不可修改的值。delegate指定一个声明为一种委托类型。委托把方法封装为可调用实体,能在委托实体中调用。enum表示一个已命名常 阅读全文
posted @ 2013-07-25 19:30 旧事乡里人 阅读(203) 评论(0) 推荐(0)
摘要:程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构。 应用程序结构分为应用程序域—程序集—模块—类型—成员几个层次,公共语言运行库加载器管理应用程序域,这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。C#应用程序域:在以前传统的开发中我们都知道,一个应用程序对应一个进程,并为该进程指定虚拟内存,由操作系统来映射实际的物理内存,有效的维护了进程之间的安全性。但另一方面,每一个进程都会消耗一定的系统资源,降低了性能,并且进程间的通信也比较麻烦。 在.NET中推出了一个新的概念:C#应用程序域(AppDomain)。可以理解成很多应用程 阅读全文
posted @ 2013-07-25 19:28 旧事乡里人 阅读(153) 评论(0) 推荐(0)
摘要:先统一一下概念,我们有两种编程方式:命令式和声明式。我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。声明式编程和命令式编程的代码例子举个简单的例子,假设我们想让一个数组里的数值翻倍。我们用命令式编程风格实现,像下面这样:var numbers = [1,2,3,4,5]var doubled = []for(var i = 0; i [2,4,6,8,10]我们直接遍历整个数组,取出每个元素,乘以二,然后把翻倍后的值 阅读全文
posted @ 2013-07-25 11:36 旧事乡里人 阅读(272) 评论(0) 推荐(0)
摘要:函数式编程是一种编程模型,它将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念。函数式编程的应用场景:1.数学推理2.并行程序函数式编程语言的代表语言:Lisp、HasKell、Erlang、Scala,F#函数式编程的复兴:多核并行程序设计的逐渐流行,而命令式编程天生的缺陷却使并行编程模型变得非常复杂,无论是信号量,还是锁的概念,都使程序员不堪其重。对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型。我们在函数式编程中努力用函数来表达所有的概念,完成所有的操作。在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成 阅读全文
posted @ 2013-07-22 19:48 旧事乡里人 阅读(236) 评论(0) 推荐(0)
摘要:最近读了一本好书——《暗时间》,总觉得该表达些什么,但是又总觉得自己是胸无点墨,孤陋寡闻。书中谈了很多的道理和作者对生活,人生的看法。自己特别喜欢的一篇文章是——《我在南大的七年》。最近总是几多伤感,主要的原因还是我说过很多次的,我快将离开学校,将要进入社会,有自己的生活和日子了。我不知道是不是自己还是那么害怕,总觉得世界是坏的,总有那么多的勾心斗角之类的事。我不知道离开学校后,自己会变成什么样子,会被消磨了斗志?会被磨平了棱角?我不知道开始工作生活之后会是什么样子,日出而作,日落而息,日子平淡无奇?我很多的不知道,原因或许是我对学校生活的不舍吧,确实是特别的不舍,从4岁到现在,都快18年了。 阅读全文
posted @ 2013-07-18 18:12 旧事乡里人 阅读(142) 评论(0) 推荐(0)
摘要:一、静态语言的优势到底在哪?来自robbin摘自http://www.javaeye.com/article/33971?page=7引用是像Java或者C#这样强类型的准静态语言在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中也有着非常强的优势这是一个存在于大家心里常识了。我承认我自己在潜意识里面也觉得静态强类型语言适合开发复杂,大型系统。而弱类型脚本语言不适合开发太复杂,太大型的项目。但是在参与这个讨论过程中,我突然开始置疑这个观点,事实究竟是不是这样的呢?先定义一下标准:强类型语言(静态类型语言)是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行。例如C/C 阅读全文
posted @ 2013-07-12 11:25 旧事乡里人 阅读(155) 评论(0) 推荐(0)
摘要:差不多都过了5天了,大学的第二次实训结束5天了。实训之后的这五天,觉得整个人都散架了似的,没有力气,冲动,欲望。有种什么都得到了,或者一无所有的感觉。我在想我是不是还活着呢。似乎对于所有我经历过的事,我都特别怀念,我想总结一下这样的整件事。放在过去的时间里,现在的心里。实训兴许是件痛苦的事,要在一个较短的时间里完成一个并不特别小的项目。最开始都是有所期待的,算是对自己的期待,也是对队友的一些期待。其实在大学能有几个志同道合的同学。一起做一些志同道合事情,也是一件快事。记得去年第一次实训的时候,时间只有两周,还要学习和写文档写了一周,那时候是没经验,没有一点点的经验,做一个很小的模块,会不厌其烦 阅读全文
posted @ 2013-07-11 16:37 旧事乡里人 阅读(150) 评论(0) 推荐(0)
摘要:似乎快两个月了,惠普招实习生的时间好像确实有点久。记得是从五月中旬的时候,惠普来学校招实习生的。因为没能够去腾讯,能拿到惠普的实习生offer也是我所愿了。记得宣讲的那天,兴冲冲的过去了,惠普的一个经理大致的讲了会惠普的一些相关的介绍,就开始笔试了。其实在听宣讲的时候,自己就开始觉得压力大了,应该学院的本科生来的应该就10个左右,其他的应该有30个研究生吧,而且有几位研究生还认识呢,我们几门专业课的助教。自己的专业能力,兴许就差得远了。忧伤了一下,还是笔试吧。惠普的笔试题真的是算很多的了,两个小时的时间,几乎把大学学的专业知识都考了一些,数据库,数据结构,项目管理,软件测试。说真的,真的好多啊 阅读全文
posted @ 2013-07-09 06:01 旧事乡里人 阅读(181) 评论(0) 推荐(0)