自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shanhe的专栏

三省吾身

  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 设计模式读书笔记(6)

Decorator 模式名称:装饰模式,包装模式(wapper)问题:需要扩展一个类的功能,或者给以各类增加附加职责;需要动态给一个对象增加功能,这些功能可能动态撤销;需要增加基本功能的排列组合产生非常大量的功能,从而使得继承关系变得不现实。例如:一个图形界面工具箱允许你对一些用户界面元素增加一些特性(例如边框之类),使用继承是可以的,但是,假设由很多特性需要增加,显然我们无法

2004-11-30 23:31:00 1355

原创 设计模式读书笔记(5)

结构型模型 2004-11-26Adapter模式名称:适配器模式、包装器wapper模式问题:假设一个图形编辑器,操纵图形类,例如lineShape、PolygonShape等,但是假设需要一个可以编辑和显示文字的textShap对象,编辑器肯能无法操纵;况且系统已经提供了textView之类的操作对象,不利用也很可惜。解决:       定义一个textShape类,使

2004-11-28 21:00:00 1256

原创 设计模式读书笔记(4)

2004-11-24ProtoType模式名称:原型模式、问题:       假设要做一个图形表示的五线谱编辑器,图形来表示休止符、音符等,一个选择面板来控制、选择音乐对象,例如,在面板上选择一个休止符,放置在五线谱上。我们为五线谱构成的音乐元素定义了抽象Graphics类,为面板定义了抽象Tool类,还为将一些图形工具加入到五线谱而设计了GraphicsTool类。问题是,G

2004-11-26 22:05:00 1737

原创 设计模式读书笔记(3)

Factory Method 工厂方法模式名称:又名 虚拟构造子(virtual Constructor)模式、多态性(Polymorphic Factory)工厂模式问题:       考虑一个应用程序框架,向用户显示多个文档。存在两个主要的抽象类Application 和 Document,客户必须实现这两个抽象类来实现具体的类。假设有具体的类DrawApplication和D

2004-11-23 23:40:00 2174

原创 设计模式读书笔记(2)

Builder 生成器模式名称:也叫建造模式、生成器模式问题:       通常产品是由多个零件组成的,不同的产品,组成零件不一样,组装方式也不一样。假设一个产品,由2部分组成(至于如何组成,可能随着技术发展,会不一样),另外的产品,有3个部分组成,我们需要创建这些产品,如何做到完美实现呢?解决:这样,我们作如下设计:       设计一个抽象的建造者Builder接口,规

2004-11-22 21:37:00 1797

原创 设计模式读书笔记(-)

设计模式读书笔记(-) 2004-11-211、什么是 设计模式 ?面向对象的软件设计经验总结。目标是:使人们更加简单的、方便地复用成功的设计和体系结构。主要在更好得完成系统设计。大师说 Christopher Alexander提出:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。”上

2004-11-21 21:01:00 2615 1

原创 CASSINI源代码分析(5)——总结

通过初步浏览全部代码之后,我们大致上明白了:1、执行流。asp.net程序具体是如何执行的?一个asp.net的应用程序的执行首先是需要一个宿主,通过建立宿主后,就建立了执行asp.net应用代码的能力。执行一次asp.net请求,需要通过HttpRuntime.ProcessRequest(SimpleWorkerRequest)来激发执行,而SimpleWorkerRequest需要被重载

2004-11-15 22:47:00 4234

原创 CASSINI源代码分析(4)

因为connection对象仅仅跟host对象相关,且处理一个套接字,所以其数据成员仅有:private Host _host;                     //指向宿主对象        private Socket _socket;              //当前套接字我们知道host调用且仅了conn.ProcessOneRequest();方法,所以我们首先要找

2004-11-14 20:55:00 4203 1

原创 CASSINI源代码分析(3)

internal class Host : MarshalByRefObject {……}首先,我们看到Host仅能够在cassini项目中使用,因为是 internal 的类定义。另外,继承自MarshalByRefObject,允许在支持远程处理的应用程序中跨应用程序域边界访问对象。我们联想到asp.net对于应用程序的执行方式是应用程序域为划分边界的,作为Host必须能够支持跨应用程序域

2004-11-13 00:25:00 4295 5

原创 CASSINI源代码分析(2)

我们从启动程序的部分开始分析吧。启动的入口是 Main函数,这个函数仅仅存在于CassiniWebServer ,而CassiniWebServer继承自Form类,但是我们看到,该类并没有实现代码(仅仅是提供一个入口)。在Main函数中,仅仅有两行代码:[STAThread]        public static int Main(String[] args) {      

2004-11-11 23:04:00 5509 1

原创 CASSINI源代码分析(1)

 CASSINI源代码分析(1) 2004-11-10为什么要分析CASSINI?Cassini(卡西尼)是asp.net上的一个开源项目。主要给出一个脱离IIS实现asp.net执行环境。项目演示了如何自己创建一个web server,并且运行一个asp.net应用程序。研究 Cassini可以了解:1、.net 环境下的web server如何实现,注意

2004-11-10 23:03:00 11618 17

原创 发表一个自己C#写的email 初级系统源代码

 .NET TNT Email  Server Tester说明 2004-11-9 一、引言TNT Email Server Tester是一个支持多域名的email 服务器的测试版本。他实现了SMTP/POP3接口,基本上实现了一个小型的email服务器。本测试器版本包含源代码,供大家参考。通过大家测试,提出修改建议和意见,我会修改,并给提出宝贵意见者一套发行版

2004-11-09 23:46:00 3427 2

原创 .Net托管世界的应用程序域和线程

.Net托管世界的应用程序域和线程关键词:托管 宿主 公用语言运行库  应用程序域 程序集 线程  Managed Host  CLR(Common Language Runtime)  AppDomain Assembly Thread一、 引子.Net框架提供了全新的计算平台,给出了一致性的面向对象的编程环境,解决了安全、版本控制等原来系统平台中存在的问题,通过公用语言运行库(CLR)

2004-11-03 00:00:00 4986 1

CMPP2.0协议测试代码

CMPP 2.0协议客户端测试代码,注意这是SP端的实现,安卓CMPP2.0实现的

2014-06-23

Android核心分析.pdf

为什么要研究Android,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的 渴望,渴望理解这种复杂性。我研究的对象是作为手机开发平台的Android 软件系统部分, 而不是Dalvik 虚拟机本身

2011-11-14

CMPP协议参考实现

CMPP协议参考实现

2008-06-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除