摘要: 从09年接触第一门编程语言VisualBasic后学编程就渐渐成为大学课程中重要的一部份。我越来越对接触新的编程语言没有多少兴趣,例如现在我要学Java,是学校课程的安排,不然我想我不会去学习他。心想:但即然接触了,就不要学的太糟糕,所以我打算接下来花些时间看看Java。 先安装一下JDK,以前可以在SUN公司的主页网站里下载到,现在JAVA被甲骨文公司收购了,所以JDK现在可以到甲骨文公司的主页上下载。我之前从甲骨文公司主页那下载了一个最新版本的,从学校的FTP网站上下载来一个jdk1.6.0_02版本的,我比较怀旧,我就用学校下的老版本的好了。 如果你安装一个eclipse软件,他就... 阅读全文
posted @ 2012-09-05 19:42 春天又来了 阅读(879) 评论(0) 推荐(0) 编辑
摘要: Gof定义定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通 知并自动更新理解观察者设计模式:当一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。例如你在淘宝上购买了一件商品,当你付完钱后,你的淘宝帐户里会记录等待卖家发货这条信息,你的手机会收到一条短信说你手机银行里扣了钱,你的邮箱也可能会收到一封邮件。UML图银行取钱例子View Code using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 阅读全文
posted @ 2012-09-03 18:58 春天又来了 阅读(400) 评论(0) 推荐(0) 编辑
摘要: Gof定义使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。动机在软件系统中,经常面临着“某些结构复杂的对象”的创建工作,但由于需求的变化,这些对象将成面临着剧烈的变化,但他们拥有比较稳定一致的接口。原型模式(Prototype)的几个要点Prototype模式同样用于隔离类对象的使用者和具体类型(易变类型)之间的耦合关系,同样要求这些易变类型具有稳定的接口。Prototype模式对于“如何创建易变类的实体对象”采用原型克隆的方法来做,他使得我们可以非常灵活的动态创建“拥有某些稳定接口”的新对象–所需工作仅仅是注册一个新类的对象(原型),然后在任何需要的地方不断地Clone。 阅读全文
posted @ 2012-09-02 18:22 春天又来了 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 使用VisualStudio和.Net来使用WebService是很方便的。下面做了一个小例子,通过一个提供气预报的WebService网址来简单实现天气预报这么一个功能:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx。 在实现这么一个小功能前看一下 WebService的定义 WebServices是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。 1、提供相关服务的WebService网址View Code 天气预报Web服务,数据来源于中国气象... 阅读全文
posted @ 2012-09-01 20:32 春天又来了 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 定义为其他对象提供一种代理以控制对这个对象的访问。理解代理模式也是经常在我们生活中会发生的和编程中经常会接触到的事情。也许你没意识到这就是代理模式,但我想你应该接触过和使用过了。1、比如你喜欢一个女孩子,你不敢直接表白,于是你找了一个朋友代你去表白,那个代你表白的朋友就相当于一个代理。2、再从宏观一点的角度看,我们的操作系统也是一个代理模式,它是基于硬件和软件之间这么一个中间层、代理层。3、如果你接触过三层架构,那我想你一定知道哪三层,模型层(Model)、数据访问层(DAL)、业务逻辑层(BLL)。其实业务逻辑层就是相当于一个代理层。4、再比如生活中的这么一个例子,在大学校园里有些同学会做这 阅读全文
posted @ 2012-08-30 11:17 春天又来了 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 定义策略模式定义一系列算法,把它们一个个封装起来,并且使它们可互相替换,该模式使得算法可独立于使用它的客户而变化。动机在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题?看下面的策略者模式的结构图和基本代码,策略者模式比较简单,下面只是给出基本的代码实现。策略者模式结构图:策略模式的定义说的实在太抽象了,可能你读过去的时候捉不住他的要点。在大话设计模式里这么说的,更好理解一些:策略模式是一种定义了一系列算法的 阅读全文
posted @ 2012-08-29 12:59 春天又来了 阅读(935) 评论(0) 推荐(0) 编辑
摘要: 适配器模式分为两种,一种是对象的适配器模式,另一种是类的适配器模式。我们知道C#是单继承的,C++是多继承的。类的适配器适合用于多继承的,所以这篇文章就只讲对象的适配器。我们先来理解一下什么是适配器模式?1、在我们的生活中其实经常需要用到适配器模式的地方,例如我们的手机充电器,我们知道我国的电源电压是220V的,但是手机电池能接受的电压是3-7V,为了使得手机电池能接受220V的电源电压,需要一个变压器,把220V电压转成3-7V的电压,那么这个变压器我们就可以理解成是一个适配器。(将不适合的电压变成适合手机电池的电压)(手机充电器)2、再举个例子,春晓家里有三个房间,一开始这三个房间都是睡房 阅读全文
posted @ 2012-08-28 13:04 春天又来了 阅读(1153) 评论(6) 推荐(1) 编辑
摘要: 其实有很多设计模式并没有像网上一些文章那样写的很复杂,理解了一下后发现他的实现原理很清晰。比如建造者设计模式。 建造者设计模式又叫生成器模式,我们不要叫他生成器模式,我觉的这个名字不好听。我比较喜欢建造者设计模式这个名字。 先来了解一下建造者设计模式是什么? 假设你是一个帮别人组装电脑主机的人,那么可以说,这时你就是充当建造者设计模式里指挥者这么一个角色。试想一下你要怎么样帮客户组装一台主机?装主机的人一般会先确定客户需要的主机配置,例如客户要求主板用华硕的,内存用金斯顿的,硬盘用西部数据的,CPU用因特尔的,电源用航嘉的,机箱用长城的……,先确定好后,再进行组装主机。 作为装主机... 阅读全文
posted @ 2012-08-26 15:19 春天又来了 阅读(1560) 评论(1) 推荐(0) 编辑
摘要: 我接触的设计模式不多,在我接触不多的设计模式里,我觉的单例模式和模板方法模式是最好理解的两种设计模式了。我们先通过文字简单的理解一下什么是模板方法模式,然后用C#代码来写一个小例子加深一下了解,当然所谓的加深是相对初学者的加深。先从字面上理解一下什么是模板方法设计模式,什么是模板?1、我想很多人都懂甚至接触过,特别是对于大多数中学时考试成绩不理想的同学包括我,在那时候总是希望优秀的同学完成的作业借我们抄一下,然后我们只是在自己的作业本上改上自己的名字和简单的必要修改,那便可以交作业了,优秀同学已经写好的作业我们可以看作是模板,简单的必要修改和改名字这部份我们可以当作需要实现的虚类。2、还有例如 阅读全文
posted @ 2012-08-24 19:30 春天又来了 阅读(1450) 评论(4) 推荐(2) 编辑
摘要: 昨晚有去想一下,实现数据库切换的其他方法。这个方法不是我想到,以前看过别人这么做过。然后回忆回忆着就写出来了。 好了,说一下他实现的方法。当然他有一个比较大的缺点在后面说一下。在ADO.NET里有很多操作数据库的类。 1、例如以MSSQLSERVER来讲就有SqlConnection、SqlDataReader、SqlCommand等操作数据库相关的类,只要你VS里面右键这些类名选转到定义,不停转到定义后会发现,SqlConnection实现的是IDbConnection接口,SqlDataReader实现IDataReader接口,SqlCommand实现的是IDbCommand接口... 阅读全文
posted @ 2012-08-23 13:17 春天又来了 阅读(4439) 评论(28) 推荐(0) 编辑