上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 一、基本概念 迪米特法则:如果两个类不直接通信,那么这两个类就不应当发生直接的相互作用。如果一个类需要调用另一个类的某个方法的话,可以通过第三个类转发这个调用。 二、核心思想 在类的结构设计上,每一个类都应该尽量降低成员的访问权限。也就是说:一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开。 迪米特原则的根本思想:强调了类之间的松耦合。 类之间的耦合越弱,越有利... 阅读全文
posted @ 2010-05-31 09:12 红脸书生 阅读(915) 评论(0) 推荐(0) 编辑
摘要: 1、意图 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。template method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 2、核心思想 模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子类的形式实现,然后声明一些抽象方法来迫使子类剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑... 阅读全文
posted @ 2010-05-31 08:56 红脸书生 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 浮点运算 1、浮点数的保存与整数一样是通过二进制进行的 所以从十进制小数转成二进制再转回去就会不一样。 2、比较两个浮点数最好的方法就是利用一个精确地阈值 ex: if(fabs(a - b)) <= epsilon * fabs(a) ) 可变参数 1、在printf()中,%f同时表示float和double 2、使用stdarg.h可以使用可变参数 使用次序必须是va_list, v... 阅读全文
posted @ 2010-05-30 22:33 红脸书生 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 1、把数字转为字符串,使用sprintf。 对整型使用%d,长整形为%ld,浮点型为%f。 2、strncpy()当目标串长度过小时,不能自动在尾部加上’\0’。 但是当目标串长度过大时,会用多个’\0’填充。 strcat就可以自动加’\0’ 3、将字符转为大小写,有toupper()和tolower() 4、把字符串分隔成用空白作间隔符的段,可以使用strtok() 5、要使用处理正则表... 阅读全文
posted @ 2010-05-30 22:08 红脸书生 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 1、意图 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2、核心思想 通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构。 3、优缺点分析 GOOD: 从一个对象再创建另外一个可定制的对象,而无需知道任何创建的细节。并能提高创建的性能。 说... 阅读全文
posted @ 2010-05-30 21:14 红脸书生 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端输入的选择条件动态的实例化相关的类,对于客户端来说,去除了与具体产品的依赖。 但是简单工厂方法违背了开放——封闭模式。 1、意图 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 2、核心思想 核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给了子类去做,成为一个... 阅读全文
posted @ 2010-05-29 21:34 红脸书生 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 一、基本的HTTP服务器1、简介对于一个服务器应用程序,有四方面的内容是需要了解:客户端、服务器端、客户端与服务器端的协议,服务器端能够提供的资源客户端 通过HTTP协议发送URI 到服务器端,服务器端 通过HTTP协议返回响应内容 给客户端2、HTTP服务器功能根据客户端请求,响应本地文件或者使用本地应用程序(即CGI程序)生成响应内容,返回给客户端一个WEB服务器的基本内部流程如下:(1)初始化:即启动服务器程序,启动时向运行主机请求将端口80作为服务器端口(2)请求——响应循环:1)等待并接受一个客户端请求2)对请求进行检查3)将请求的URL映射为特定的文件(存在则返回给客户端,不存在则 阅读全文
posted @ 2010-05-29 20:05 红脸书生 阅读(2223) 评论(0) 推荐(0) 编辑
摘要: libev:libevent的挑战者 收藏 http://blog.csdn.net/heiyeshuwu/archive/2008/09/02/2865201.aspx libev 是高性能事件循环/事件模型的网络库,并且包含大量新特性。它是继lievent和Event perl module之后的一套全新网络库。它追求的目标:速度更快,bug更少,特性更多,体积更小。它和libevent很像,... 阅读全文
posted @ 2010-05-29 17:08 红脸书生 阅读(6140) 评论(0) 推荐(0) 编辑
摘要: UDT协议-基于UDP的可靠数据传输协议 1. 介绍 随着网络带宽时延产品(BDP)的增加,通常的TCP协议开始变的低效。这是因为它的AIMD(additive increase multiplicative decrease)算法彻底减少了TCP拥塞窗口,但不能快速的恢复可用带宽。理论上的流量分析表明TCP在BDP增加到很高的时候比较容易受包损失攻击。 另外,继承自TCP拥塞控制的不公平的RT... 阅读全文
posted @ 2010-05-29 15:50 红脸书生 阅读(2983) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/gddsky/archive/2007/10/18/1831688.aspx 要描述一项技术或是一个行业,一般都会从其最古老的历史开始说起,我本也想按着这个套路走,无奈本人乃一八零后小辈,没有经历过那些苦涩的却令人羡慕的单机游戏开发,也没有响当当的拿的出手的优秀作品,所以也就只能就我所了解的一些技术做些简单的描述。一来算是敦促自己对知识做个梳理,二来与大家... 阅读全文
posted @ 2010-05-29 15:26 红脸书生 阅读(7135) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页