- 博客(30)
- 资源 (4)
- 收藏
- 关注
原创 C# 对数据库操作的函数总结
SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。可以写也可以读。1.可以使用ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),2.对于Update、Insert 和 Delete 语句,返回值为该命令所影响的行数。3.对于所有其他类型的语句,返回值为-1。如果发生回滚
2016-05-27 10:53:05 2961
转载 使用SQL Server 获取插入记录后的ID(自动编号)
要获取此ID,最简单的方法就是在查询之后select @@indentity--SQL语句创建数据库和表复制代码代码如下:create database dbdemogouse dbdemogocreate table tbldemo( id int primary key identity(1,1), name varchar(
2016-05-27 10:15:12 15924
转载 C#通过TCP传送结构体
1)定义结构体: //命名空间using System.Runtime.InteropServices; //注意这个属性不能少 [StructLayoutAttribute(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=1)] struct TestStruct { pu
2016-05-26 18:17:50 4040
转载 C# 将时间戳 byte[] 转换成 datetime 的几个方法
推荐方法:DateTime now = DateTime.Now;byte[] bts = BitConverter.GetBytes(now.ToBinary());DateTime rt = DateTime.FromBinary(BitConverter.ToInt64(bts, 0)); 用了2个byte,日期范围 2000-01-01 ~ 2127-
2016-05-26 17:46:57 4981
转载 Stream 和 byte[] 之间的转换
一. 二进制转换成图片12345MemoryStream ms = new MemoryStream(bytes);ms.Position = 0;Image img = Image.FromStream(ms);ms.Close();this.pictureBo
2016-05-26 10:26:58 3388
转载 C# 序列化与反序列化几种格式的转换
这里介绍了几种方式之间的序列化与反序列化之间的转换首先介绍的如何序列化,将object对象序列化常见的两种方式即string和xml对象;第一种将object转换为string对象,这种比较简单没有什么可谈的; public string ScriptSerialize(T t) { JavaScriptSerializer se
2016-05-26 10:19:44 649
转载 JSON基础
JSON 基础简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,而且 JSON 可以表示比名称/值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值
2016-05-26 09:57:22 368
转载 C# 序列化与反序列化
在C#网络编程中,为了传输复杂的数据类型,如类类型和容器,例如Dictionary,List。我们需要将其转换成字节数组。C#中提供了序列化和反序列化来实现该方式。 public static System.IO.MemoryStream SerializeBinary(object request) { System.IO.Memory
2016-05-26 09:51:24 1132
原创 C#网络编程,传输数据的3种方式
在使用socket绑定networkstream进行网络传输时,传输的形式都是以字节数组(byte[])进行的。意味着进行读取时都是以字节数组的形式进行。所以当进行网络通信传输数据时,我们可以使用一下3种方式。1.定义所有的信息为同一个类型数据,这样在进行类型转换时最方便。但是缺点为:由于将所有的类型聚集在一起进行传输,接受时需要进行信息的切割,以获得所需信息。无法描述复杂的组合数据类
2016-05-26 09:08:59 9345 2
转载 函数重载、函数覆盖、函数隐藏之间的关系
函数重载、函数覆盖、函数隐藏之间的关系a.成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。b.覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。c.“隐藏”是指派生类的函数屏蔽了与其
2016-05-23 21:26:19 405
转载 虚函数
关于虚函数的背景知识用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。多态用虚函数来实现,结合动态绑定。纯虚函数是虚函数再加上= 0。并且该函数只有声明,没有实现。抽象类是指
2016-05-23 20:46:43 292
转载 LRU设计算法
1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。即替换出距离当前使用时间最长的内存块。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;2. 每当缓存
2016-05-23 20:26:20 448
转载 门面模式
门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。门面模式有三个角色组成:1) 门面角色( facade ):这是门面模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定了几种功能组合。2) 子系统角色:实现了子系统的功能。对它
2016-05-23 12:58:04 617
转载 代理模式
类图模式中包含的角色及其职责Subject:抽象主题角色,抽象主题类可以是抽象类,也可以是接口,是一个最普通的业务类型定义,无特殊要求。RealSubject:具体主题角色,也叫被委托角色、被代理角色。是业务逻辑的具体执行者。Proxy:代理主题角色,也叫委托类、代理类。它把所有抽象主题类定义的方法给具体主题角色实现,并且在具体主题角色处理完毕前后做预处理和
2016-05-23 12:49:42 301
转载 享元模式
解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。 在Flyweight模式中,由于要产生各种各样
2016-05-23 12:33:52 353
转载 几个开发模式
瀑布模型:开发过程顺序进行,过程规范,有质量保证,但是不能够应对需求变化,更改代价较高。灵活性较低。V模型:基于瀑布模型,但是更强调测试过程,有质量保证。显示出不同层次上的测试方法。并且将测试阶段与开发阶段相联系。原型模型:主要解决核心问题,核心功能。开发出原型来解决问题。(可行性) 例如Google搜索引擎,界面简洁,关注搜索效率。增量模型:先解决大部分需求或者核心功能。然后一步一
2016-05-10 22:00:09 416
转载 java 值传递和引用传递。
java不同于C++,没有灵活但是复杂的指针。不管是原始类型还是引用类型,传递的都是副本(有另外一种说法是传值,但是说传副本更好理解吧,传值通常是相对传址而言)。如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。如果在函数中改变了副本的值不会改变原始的值.如果参数类型是引用类型(java中非原始数据都需要使用new操作
2016-05-10 18:50:15 256
转载 装饰者模式、桥接模式、适配器模式
在开发过程中,为了扩展一个类的功能我们通常使用继承一个子类来实现。但是当扩展的功能过多时,则可能出现子类过多,类图过于膨胀。所以我们使用装饰者模式来避免这个问题。装饰者模式提供了一种给一个类添加职责的方法,它比使用继承更加灵活,因为它能将职责加到类的指定实例中,它也允许定制一个类,而无需在继承层次结构中创建高层次子类。装饰者模式的缺点:1 Decorator和它包含的组件是不一样的,这
2016-05-09 21:51:54 2642
转载 dijkstra算法
Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。注意该算法要求图中不存在负权边。2.算法描述1)算法思想:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有
2016-05-06 11:19:51 484
转载 FLOYD算法
1.定义概览Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。Floyd-Warshall算法的时间复杂度为O(N3),空间复杂度为O(N2)。1)算法思想原理: Floyd算法是一个经典的动态规划算法。用通俗的语
2016-05-06 10:44:59 406
原创 几个算法举例。
如何计算某个数x是否是2的幂次方?因为若y为2的幂,则为x=2^y。在2进制位的表示中在第y+1位上为1,其余为0.则(x-1)&x=0。即可以得出x是否为2的幂次方。
2016-05-06 10:20:04 1248
原创 黑盒测试
黑盒测试,又称为功能测试与数据驱动测试把测试对象当作看不见内部的黑盒•− 在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性要求导出执行程序所有功能需求的输入条件集,实现功能覆盖•− 功能覆盖主要是需求覆盖,通过设计一定的测试用例,对每个需求点进行测试•− 根据软件产品需求规格说明中的功能设计规格,在计算机上进行测试
2016-05-05 20:49:53 2004
原创 静态分析分析
软件静态分析概念静态分析通常是指不执行程序代码而寻找代码中可能存在的错误或评估程序代码的过程被测对象是各种不软件相关的有必要测试的产物,如文档、源代码等通过扫描程序正文对程序的数据流和控制流等进行分析•−找出系统的缺陷,得出测试报告•−不必进行测试用例的设计和结果分析等工作静态测试可以手工/人工迚行,也可以借助软件工具自动迚行•− 人工进行静态测试,能够充分发挥人的思维
2016-05-05 20:31:40 3549 1
转载 原型模式
1 概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2 适用性 1. 当一个系统应该独立于它的产品创建、构成和表示时。 2. 当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3. 为了避免创建一个与产品类层次平行的工厂类层次时。 4. 当一个类的实例只能有几个不
2016-05-04 15:10:25 332
转载 构造者模式
构造者模式(又叫生成器模式 Builder Pattern)将一个复杂对象(下面说的车,手机等)的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。首先看UML图Product类:具体的产品。Director类:指挥者,构建一个使用Builder接口的对象。确定构造者的顺序。Builder接口:是为创建一个Product对象的各个组件指定的抽
2016-05-04 15:00:48 401
转载 单例模式
概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、
2016-05-04 14:48:06 290
转载 工厂模式
一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上Audi后他说"开奥迪车!"。你一定说:这人有病!直接说开车不就行了?! 而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过
2016-05-04 14:13:36 385
原创 面向对象系统分析与设计
数据抽象 把一组数据及作用与其上的操作组成一个设计实体或单位。接口说明外部可见,其实现是隐蔽不可见的面向对象的特点封装机制基于消息的通信继承机制多态机制面向对象=对象+分类+继承+通信系统发展的趋势:1.从系统开发到系统集成2.从以程序为中心到以信息内容(数据)为中心、或以用户为中心3.从孤立封闭的集中控制式系统到协同开发的分布式系统
2016-05-03 13:25:32 9971
原创 系统分层与架构模型
系统设计提供帮助的步骤:1.制定一个相互关联和相互依赖的元素列表。 2. 确定系统的边界。 3. 确定各个元素的处理过程。系统的透视图:使系统分析员大致澄清和理解他们即将接触的各种业务。子系统的成员认识到他们的工作是互相关联的。管理者对自己的职能子系统的重要性持不同看法时,就会引发问题。系统的三个独立特征:•有元素及其结构•有一定的目标•有确定的边界
2016-05-03 12:35:50 2418
原创 系统设计基础
信息技术: 有关信息的识别、提取、变换、存储、处理、检索、检测、分析和利用的技术。 研究信息如何产生、获取、传输、变换、识别和应用的科学技术。系统分析与设计概况:系统分析功能:分析数据输入,处理,转换,存储,特定环境下的输出。风险:1.系统陷入无用状态 2.系统开发成本提高使用目的:1.合作交流 2.业务、目标进行分析 3.告
2016-05-03 11:09:20 558
UML面向对象建模基础
2016-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人