摘要:在C#中使用一个类时,分两个阶段。首先需要定义这个类,即告诉编译器这个类由什么字段和方法组成。然后(除非只使用静态方法)实例化类的一个对象。使用委托时,也需要经过这两个步骤。首先定义要使用的委托,对于委托,定义它就是告诉编译器这种类型代表了那种类型的方法,然后创建该委托的一个或多个实例。 定义委托是从delegate开始的然而它是如何运作的呢。也许弄个鼠标事件会容易理解一些,这里还是拿出书中的例子...
阅读全文
摘要:说明:我也是初学者,希望大家能提出宝贵意见。另外转载请注明作者左光和出处博客园,毕竟花费了很长时间才完成。 前言: 在网上搜索一下 MVC 模式,大部分都是和 Struts 、Spring 这些东东有关的,好像一说到MVC 模式,就必须和框架有关似的,费了半天劲仍然是晕晕乎乎,好在其中的观察者模式比较好理解,这两天正好又在听袁阔成的评书《三国演义》,于是就结合三国故事和观察者模式写下这一篇《三国演...
阅读全文
摘要:其实做这么个东西没什么具体用途,只是在看到这个帖子和这篇BLOG后来了兴趣,突发其想来试试能不能做个在线的编译器,顺便也研究下ajax和反射; ajax是看很长时间了,比较关注微软的开发包Atlas的动态,也有很多资源: ·MSDN的Atlas 网站 ·ASP.NET "Atlas" 官方网站 ·ASP.NET "Atlas" 预览文档 ·Atlas 快速入门教程 以上几个连接来自思归 ...
阅读全文
摘要:2.1 AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto Research Lab(即PARC)的研究人员就对面向对象思想的局限性进行了分析。他们研究出了一种新的编程思想,借助这一思想或许可以通过减少代码重复模块从而帮助开发人员提高工作效率。随着研究的逐渐深入,AOP也逐渐发展成一套完整的程序设计思想,各种应用AOP的技术也应运而生。 AOP技术在J...
阅读全文
摘要:在我们的系统的编写过程中,应该有很多的时候需要客户下载文件.我第一次的做法(应该也是大部分人的做法吧?)是: 1 HttpResponse response = HttpContext.Current.Response;2 string js = "";3 js = string.Format(js, url);4 ...
阅读全文
摘要:声明:无意中在一论坛看见这篇文章,觉得挺好玩的,就转了过来。韩国的现实生活是不是和韩剧中演的一样。。。 文章有点长,不过请耐心看完。看完文章后,我很纳闷,韩国人在吃方面真的那么寒碜哦??最近看黄手帕,好象排骨很贵?美玲家也算有钱吧,也把吃排骨当成一件天大的事一样,居然说买了排骨就没钱交保险了那么夸张,是翻译有误,还是这个排骨不是我们说的排骨?哪个了解的来解一下我的疑惑啊。 ...
阅读全文
摘要:我觉得我有必要为中国写点东西了。 虽然我一向标榜远离政治,对所谓的世界大势有一种与生俱来的失望。但最近的很多很多事情,还是让我觉得有某种东西如梗在喉,不吐不快。 我厌恶评论,因为评论家大多只是坐而论道的好手,一旦起而行之,则捉襟见肘。站着说话不腰疼,固然很惬意。我知道有一天我也许会因为我说的这些而打了自己的嘴巴。但我还是决定要说,就如鲁迅先生所说,如果一个房...
阅读全文
摘要:0 引言 过去几年中,我们将敏捷方法应用于数据库设计,总结出一些技巧,使得当应用程序发展时,数据库也能够进化,这是敏捷方法的一个重要属性。我们的方法是通过持续集成以及自动重构,通过数据库管理人员(dba)和应用开发人员的紧密合作来设计数据库。这些技巧在应用开发的各个时期都有效。 1 敏捷方法学 近年来,出现了一种新的软件开发方法学——敏捷方法学。这给数据库设计提出了一些新的、巨大的需求。这些需求的...
阅读全文
摘要:一、问题的提出 笔者近几年一直从事信息系统的开发,特别是有关国家机关和企业信息系统的开发工作,取得了许多的经验和教训。其中一个深切的体会是,需求的不断变化,如果不能很好的应对,会导致整个项目的进度和质量都难以控制,最终使整个系统失败。特别是在我国,用户对于如何应用计算机软件并没有一个成熟的经验,在项目进行中用户会频繁的改变和增加各种要求。当最终完成系统的建设时,却发现企业的业务需求已经...
阅读全文
摘要:设计模式在某种程度上确实能够改善我们的程序结构,使设计具有更好的弹性。也正是由于这个原因,会导致我们可能过度的使用它。程序结构具有过度的、不必要的灵活性和程序结构没有灵活性一样都是有害的。本文将分析过度的灵活性可能造成的危害,并且结合一些实例来阐述使用设计模式改善程序结构应遵循的原则。 1、介绍 本系列文章的前两篇主要讲述了如何使用设计模式来改善我们的程序结构,大家可以看到经过调整的代码具...
阅读全文
摘要:在本系列的asp?ClassID=263'>.net/article/20050728152714814.html" target=_blank>第一篇文章中,描述了如何通过设计模式来指导我们的程序重构过程,并且着重介绍了设计模式意图、动机的重要性。在本文中我们将继续上篇文章进行讨论,这次主要着重于设计模式的适用性,对于设计模式适用性的掌握有助于从另一个不同的方面来判断一个设计模式是否真正适用于我...
阅读全文
摘要:设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导、简化你的设计...
阅读全文
摘要:在《在.Net中关于AOP的实现》我通过动态代理的技术,基本上实现了AOP的几个技术要素,包括aspect,advice,pointcut。在文末我提到采用配置文件方式,来获取advice和pointcut之间的映射,从而使得构建aspect具有扩展性。 细细思考这个问题,我发现使用delegate来构建advice,似乎并非一个明智的选择。我在建立映射关系时,是将要拦截的方法名和拦截需要实现...
阅读全文
摘要:一、AOP实现初步 AOP将软件系统分为两个部分:核心关注点和横切关注点。核心关注点更多的是Domain Logic,关注的是系统核心的业务;而横切关注点虽与核心的业务实现无关,但它却是一种更Common的业务,各个关注点离散地分布于核心业务的多处。这意味着,如果不应用AOP,那么这些横切关注点所代表的业务代码,就会分散在系统各处,导致系统中的每个模块都与这些业务具有很强的依赖性。在这里,所谓横切...
阅读全文