12 2011 档案
摘要:首先声明,本文章是转载:http://www.cnblogs.com/alexis/archive/2011/05/26/2052319.html wp7 sdk中文版出来一段时间了,由于最近比较忙,也没有去尝试下,经过一上午的整体配置,计算机终于可以顺利的跑 wp7项目了,呵呵,根据博客园这位老兄的日志,写了一个小程序,权作学习的开端。 需求很简单,打开一幅图片,自定义背景图片,为了将程序下次打开的时候,能够不丢失图片,我们将其保存到手机内存中去,不罗嗦,直接晒demo:汗...博客园不让上传图片了...这么回事...好吧.先晒前台代码:<phone:PhoneApplicationP
阅读全文
摘要:索引的定义SQL Server的索引值是对数据库中一个或者多个列的值进行排序的结构。索引几个特性:1)索引可以提高数据的访问速度只有在适当的位置建立索引,就能大幅度提高,实际上,您可以把索引理解为一种特殊目录。微软的SQL SERVER提供了两种索引:聚集索引和非聚集索引。 其实,我们的汉语字典的正文本身就是一个聚集索引,比如,我们要查"安"字,就会很自然的翻开字典的前几页,因为"安"的拼音是"an",而按照拼音排序汉字的字典是以英文字母"a"开头并以"z"结尾的,那么"安"
阅读全文
摘要:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问 业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关 表示层:是系统的UI部分,负责使用者与整个系统的交互。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。分层式结构究竟其优势何在?1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现; 3、可以降低层与层之间的依赖; 4、有利于标准...
阅读全文
摘要:一个小型的网站,比如个人网站,可以使用最简单的html静态页面就能实现了,配合一些图片达到美化的效果,所有的页面均放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、webServer、防火墙等各个领域都有了很高的要求,已经不是原来的简单的html静态网站的所能比拟的。 大型网站,比如门户网站。在面对大量用户访问、高并发性请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、..
阅读全文
摘要:网站的运行中有很多的因素决定,例如:网速、网站兼容性、网站耐压性和服务器承载能力等因素共同决定的,这些都会影响到网站的性能和相应时间。web性能测试就是帮助开发人员在开发的时候尽量避免这些问题。网站性能测试的几个基本点:1、验证性和确认性测试:这个测试用来帮助我们检验输入值和是否能在期望的入口登录,比如:一个字段要求输入Email地址,那么必须按照正确的输入才能提交页面2、页面完整性测试:相当于在生产环境中,通过模拟用户行为来查看网站内容的完整性。比如测试每个连接是否正确或者页面上的信息是否正确显示等。3、权限测试:帮助我们检验不同权限的用户是否能得到相应的内容,还有对本地或者服务器上其他资.
阅读全文
摘要:参照博客园蒋金楠老师的博客和MSDN的一片文章,现在把wcf客户端动态嗅探wcf服务用一个实例来做出总结。 在以往的wcf客户端应用的时候,我们需要提供客户服务地址和端口或者管道,当然有时候需要我们服务端公开元数据,从而实现客户端的搭建使用,这样的使用有两个局限性:1、分配给客户端的端口或者管道必须可用,也就是说应用程序开发人员或管理员必须想这或者提供某种方法2、客户端必须提供提前知道的服务端点地址,包括端口号和服务器或管道名称 为了避免这俩个约束,理想的情况下,服务能够使用任何可用地址,而客户端就运行时动态的发现此地址。事实上,存在一种基于行业标准的解决方案可行,用于规定此发现的定位方式..
阅读全文
摘要:声明:本文章转自http://www.cnblogs.com/artech/archive/2011/10/07/WS-Discovery.html,非原创 我们传统的服务调用的模式都是这样的:客户端在设计的时候预先知道目标服务的地址,并基于这个地址创建终结点对服务进行调用。而我们即将介绍的新特性是你在预先不知道目标服务的情况下,可以动态的探测可用的服务并调用之。就像我们的无线网卡可以动态的获取周围可用的Wifi网络一样。 服务发现接触了客户端和服务端之间的依赖。允许服务的提供者可用动态的改变它的地址,也是新德服务可以很容易的被注册并为人所用。关键一点的事,服务发现并不是微软在.NET平台下的
阅读全文
摘要:声明:本文章源自园子老赵之手,个人做学习笔记之用,地址:http://www.cnblogs.com/JeffreyZhao/archive/2009/03/10/codetimer.html因为每次我们在在做性能比较的时候,都需要自己实例一个Stopwatch,感觉很麻烦,就在网上找到了这篇文章,作为一个实用工具,感觉值得收藏下,故整理下,留之后用,不废话,新建项目: static class CodeTimer { static CodeTimer() { //设置当前进程为最高优先级 Process.GetCu...
阅读全文
摘要:当我们同一条测试用例根据不同的输入数据运行多次测试。为了不重复写单元测试代码。vs为我们提供了数据驱动的测试方法,数据源的文件格式可以是csv、xml、SQL Server数据库或者Orcle数据库等。 我们先来看看我们要被测试的方法:using System;namespace ConsoleApplicationUnitTest{ public class UnitTest { public double CalculateTotalPrice(double quantity) { double totalPrice; ...
阅读全文
摘要:在软件开发过程中,系统构架是有很多模块构成,而每个模块都有许多函数组成,当我们的系统发生错误时候,我们必须定位在发生的错误的模块,然后精确到某个模块中的某个函数中,而这个周期就是非常浪费时间和生产效率的,我们的大部分时间浪费在寻找此Bug上,若果系统越复杂,那么我们定位错误的成本原来越高。所以在每个函数集成模块中,所以我们需要严格地单元测试来验证。在MVC模块中开发系统自动集成进去,在vs2010中我们可以为我们的函数自动生成单元测试,无论是public或者private的,我们通过鼠标右键都能自动生成单元测试函数,这个类定义在Microsoft.VisualStudio.TestTools.
阅读全文
摘要:有人说:女生到社会上会遇到比学校更优秀的男生,而男生很难找到比在学校更好的女生,我现在告诉你,这句话你们都理解错了。这句话的意思是:男生在校园都还不成熟,19到25岁的男孩一般都比同龄女孩显得放不开,但到社会上,很快男人变的就优秀的多了,这说明大学几年是男生成熟的重要时期。而女生到社会变的实际了,于是就有了你们经常听到的那一句话!而我一直认为,清华大学比北京大学的男生优秀就在于清华大学的男生能学会等待!这也就是为什么清华出的国家领导人要远远多于北大。一个男人,是需要孤独的,如果你忍受不了孤独,只能说明你内心还不够强大!很多男生认为能证明自己的魅力在于自己有多少朋友,有多么漂亮的女朋友,那么我.
阅读全文
摘要:Ioc(依赖倒转)概念:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。也就是说在项目中相关联类实例化的时候统一进行管理,客户端不需要关注类之间关联,只需要通过名称,就能获取实例化对象,记得在Pet shop中对于DAL层的实例是通过抽象工厂,通过客户端配置web.config文件反射得到,当然这样也能实现实例化对象的解耦,但是这种方式也有很多弊端,比如:反射性能、产品类复杂导致实例化麻烦等,Ioc就是解决这些问题,所以说Ioc是抽象工厂的升级。参考院子(李会军)老师的文章,先把.net平台下的几种优秀.
阅读全文
摘要:从架构上看,Microsoft NLayerApp对“复杂的业务系统应用程序”这样一种应用程序的架构设计提供了一系列的设计准则。所谓“复杂的业务系统应用程序”是指这样一类业务系统应用程序,这类应用程序具有相对较长的生命周期,在其生命周期中,将发生一些可预计的“革命性变更”(比如,所使用的技术/框架的版本升级甚至替换),因此后期维护会变得非常重要。于是,针对这种类型应用程序的设计,我们应该做到,当“革命性变更”来临时,将这种变更对应用程序其他部分的影响减少到最小程序,例如,我们要确保基于基础架构层的设施变更不会影响到其上层的各个部分。更确切的说,应用程序的领域模型部分应该只关注领域本身,变更应.
阅读全文
摘要:分层构架 在分析领域驱动设计之前,我们需要先回顾以前的分层架构。“层”是一种体系结构模式,也是被广大软件从业人员用的最为广泛而且最为灵活的模式之一。其中最为大家所熟知的就是三层架构,那分层是什么?为什么要分层?传统的三层架构就是:表现层、业务逻辑层和数据访问层;其实所谓的分层要达到的目的就是,将具有不同的职责的组件分离开来,组成一套层内部高聚合,层于层之间低耦合的软件系统,这就是分层的目的; 在领域驱动设计的讨论同样也是建立在层模式的基础上的,但与传统的分层架构相比,它更注重领域架构和技术架构的分离。传统的三层架构我们所熟知的三层架构,自然就是有:表现层、业务逻辑层和数据访问层,我们用一个图来
阅读全文
摘要:概述:在vs2010中软件测试已经提供了很多功能以及管理工具。这其中包括有:测试视图、测试项目编辑、测试结果视图、代码覆盖率结果、测试运行等以及在vs2010中新增的功能Test Impact View 工具介绍:首先我们新建了一个简单的待测试的工程:ConsoleApplicationTest1,添加一个类Class1,添加一段简单的代码,如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplicationTest1{ publ...
阅读全文
摘要:首先声明此文章是转载博客园蒋老师之作:http://www.cnblogs.com/artech/archive/2007/03/02/661969.html双工(Duplex)模式的消息交互方式体现在消息交换过程,参与的双方均以向对方发送消息。基于双工MEP消息交换可以看成是多个基本模式下(比如请求-回复模式和单项模式)消息交互的组合。两种双工模式的的MEP1、请求过程中的回调这是一种比较典型的双工消息交换模式的表现形式,客户端在进行服务的时候,附加上一个回调对象;服务在对处理该处理中,通过客户端附加的回调对象(实际上是调用回调服务的代理对象)回调客户端操作的操作(该操作在客户端执行)。整个
阅读全文
摘要:转自:http://gaojikuan.blog.163.com/blog/static/3176064220090176432172/如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。 在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决 CPU与内存之间的速度不匹配问题。硬件系统可以利用Cache存储CPU访问概率高的那些数据,当CPU需要访问这些数据时,可以直接从Cache中读 取,而不必访问存取速度相对较慢的内存,从而提高了CPU的工作效率。软件设计借鉴了硬件
阅读全文
摘要:在.NET框架包含一个托管堆,所有的.NET语言在分配引用类型对象都要使用它,像值类型这样的轻量级别对象始终分配在栈中,但是所有的类实例和数组都被生成在一个内存池中,这个内存池就是托管堆垃圾收集器的托管的基本算法很简单:1、将所有的托管内存标记为垃圾2、寻找正在使用的内存快,并将他们标记为有效3、释放所有没有被使用的内存块4、整理堆以减少碎片看上去很简单,但是垃圾回收器实际采用的步骤和堆管理系统的其他部分并非微不足道,其中常常涉及为提高性能而作的优化设计。举例来说,垃圾收集遍历整个内存池具有很高的开销。然而,研究表明大部分在托管堆上分配的对象只有很短的生存期,因此堆被分成三个段,称作gener
阅读全文
摘要:文章转自:http://www.cnblogs.com/shenfengok/archive/2011/09/06/2169306.html 首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack1、堆栈中存储值类型2、堆栈实际上是向下填充,即由高内存地址指向低内存地址填充3、堆栈的工作方式是先分配内存的变量后释放(先进后出原则)4、堆栈中的变量是从下向上释放,这样就保证了堆栈中先进后出的规则不与变量的生命周期起冲突5、堆栈的性能非常高,但是对于所有的变量来说还不灵活,而且变量的生命周期必须嵌套。6、通常我们希望使用一种方法分配内存来存储数据,
阅读全文
摘要:本章我们来实现对上一篇文章中配置的wcf服务,实现android客户端的应用,自己的android平台开发的水平有限,呵呵.代码都是小菜级别,但不妨碍功能的实现,开始之前我们做好准备工作,当然开发android程序,我们需要搭建好该开发平台,不废话,直接上步骤:第一步:我这里新建了一个android2.2版本的AVD..运行软件同样适用Eclispe;第二步:新建android解决方案,这几记住在选择平台的时候就要选择我们刚才的2.2版本...因为我们在此项目中需要用json的解析,虽然在android平台下已经为我们提供了json的解析包,但是需要在android3.0以上版本我们才能适用.
阅读全文