摘要:
2 [C#] 200 连接数据库方法收集 "Connect Timeout=30":连接超时时间为30秒. 在这里,建立连接对象用的构造函数为:SqlConnection. -------------------------------------------------------------------------------- 3.C#连接Oracle 程序代码: -------------------------------------------------------------------------------- using System.Data.Orac 阅读全文
posted @ 2011-11-16 10:28
指尖流淌
阅读(1033)
评论(0)
推荐(0)
摘要:
ObjectDataSource是比较有意思的一个东西通过在网络上遍访各位高手,终于自己有了一些心得体会。现总结如下:1、ObjectDataSource的作用是给页面的数据展示控件提供数据2、ObjectDataSourc是一个媒介,它一手拉着界面的数据展示控件,一手拉着实际的数据来源。它自己什么都不是,仅仅是一个中介。3、之所以它叫ObjectDataSource,是因为它不像AccessDataSource和SQLDataSource那样是直接连到了数据库,而是连到一个特殊的对象。有DataObjectAttribute()属性的对象4、因此,利用ObjectDataSource完成的数 阅读全文
posted @ 2011-11-16 10:27
指尖流淌
阅读(341)
评论(0)
推荐(0)
摘要:
javascript 设置cookie设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId=828"; 如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如: document.cookie="userId=828; userName=hulk"; 在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做 到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?方法是用escape()函数进 阅读全文
posted @ 2011-11-16 10:26
指尖流淌
阅读(337)
评论(0)
推荐(0)
摘要:
DataRow复制一行到另一个DataTable 下面两个方法是DataRow复制一行到另一个DataTable的,直接Add会出错“此行已属于另一个表”,其实以前就知道怎么做的,可每次要用到的时候还是犯糊涂,这次把它们记下来。 1.用DataRow.ItemArray DataTable t=new DataTable(); DataRow r=t.NewRow(); r.ItemArray=oldRow.ItemArray; t.Rows.Add(r);2.用DataTable.ImportRow() t.ImportRow(oldRow); 阅读全文
posted @ 2011-11-16 10:25
指尖流淌
阅读(352)
评论(0)
推荐(0)
摘要:
要解决的问题:将下面的URL作为一个参数传到其他的页面1 http://domain/de.apx?uid=12&page=152 url后面的参数中出现汉字等,如: ....aspx?title=起重机在出现上面的情况的时候,必须经过一个RUL编码和解码的过程,否则会出现错误.代码如下:<a href="DictEdit.aspx?Dict=<%#Eval("SourceLang")%>&target=<%#Eval("TargetLang")%>&Email=<%#Eval(&qu 阅读全文
posted @ 2011-11-16 10:24
指尖流淌
阅读(286)
评论(0)
推荐(0)
摘要:
首先在硬盘中将所有有关的资料融合到一个文件夹中,这将大大方便后期的制作。然后启动"Easy CHM"软件到如图1所示主界面,寥寥无几的几个功能按键,首先就消除了我们"制作会不会太繁锁"的顾虑。图11、导入所需目录及文件怎么开始?自然是先新建一个制作任务。在快捷工具栏单击"新建"按钮;然后在弹出的"新工程目录"中单击"浏览"按钮导入硬盘目录文件,此步骤的意义在于自动将指定文件夹中的所有文件导入到软件制作窗口中,批量导入的好处就是方便快捷,不需要一个一个的去找。当然也可在"新工程目录&qu 阅读全文
posted @ 2011-11-16 10:22
指尖流淌
阅读(587)
评论(0)
推荐(0)
摘要:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>css 菜单</title><style>body{ background-color:#B8B8A0; }#fbtn{ display:none; overflow:hidden; border-style:solid; border-width:1px; border-color:#e1e1c9 #e1e 阅读全文
posted @ 2011-11-16 10:21
指尖流淌
阅读(333)
评论(0)
推荐(0)
摘要:
有什么问题请到评论中发表<br><!-- http://www.mb5u.com/jscode --><!-- bbs http://www.mb5u.com/bbs--> <!-- 把下列代码加入到head区内 --><style type="text/css"> #cssdropdown, #cssdropdown ul {padding: 0;margin: 0;list-style: none;} #cssdropdown li {float: left;position: relative;} .main 阅读全文
posted @ 2011-11-16 10:16
指尖流淌
阅读(821)
评论(0)
推荐(0)
摘要:
什么问题请到评论中发表<br><!-- http://www.mb5u.com/jscode --><!-- bbs http://www.mb5u.com/bbs--> <!-- 把下列代码加入到head区内 --><style> .highlightit img{border: 1px solid #ccc;} .highlightit:hover img{border: 1px solid navy;} .highlightit:hover{color: red; /* Dummy definition to overcome 阅读全文
posted @ 2011-11-16 10:15
指尖流淌
阅读(631)
评论(0)
推荐(0)
摘要:
function RunGLNL(){var today=new Date();var d=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");var DDDD=(today.getYear()<100 ? today.getYear()+1900:today.getYear())+"年"+(today.getMonth()+1)+"月"+today.get 阅读全文
posted @ 2011-11-16 10:14
指尖流淌
阅读(298)
评论(0)
推荐(0)
摘要:
执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 用户 'XXXASPNET' 登录失败。 今天将网站迁移过来后,就发现这个问题.经过摸索,发现原因是我们登录数据库的角色对数据库的权限不够. 解决办法: 1.打开数据库企业管理器,然后选择数据库---安全性---找到刚才报错的哪个'XXXASPNET' --右键"属性"; 2.选择"用户映射"选项---在里面将我们要访 阅读全文
posted @ 2011-11-16 10:13
指尖流淌
阅读(440)
评论(0)
推荐(0)
摘要:
当我们自己定义一个自定义控件时,需要用到自己定义的属性,下面我们将会这样的去动态的添加自定义的属性。 《1》首先定义属性类型: private int i = 1; //定义私有成员i为整形 《2》添加字符的描述 [Personalizable (),WebBrowsable(true) ,WebDescription ("这是一个整形的参数"),WebDisplayName ("请输入一个数字")] WebBrowsable(true) 提示是否在属性面板中显示《4》公开属性 public int I { g... 阅读全文
posted @ 2011-11-16 10:12
指尖流淌
阅读(880)
评论(0)
推荐(0)
摘要:
Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定如: < %# Container.DataItem("tit") %>< %= %>: 在程序执行时被调用,可以显示后台变量值如:*.aspx中: < %= aaa %>*.cs中: protected string aaa="姓名";< % %&g 阅读全文
posted @ 2011-11-16 10:11
指尖流淌
阅读(397)
评论(0)
推荐(0)
摘要:
<1> 连接数据库 用read方法取出数据 在web.config取出连接字符串 string sqlconn = ConfigurationManager.ConnectionStrings["db_showHouseConnectionString"].ToString(); SqlConnection conn=new SqlConnection (sqlconn ); SqlCommand com = new SqlCommand("select * from film", conn); conn.O... 阅读全文
posted @ 2011-11-16 10:09
指尖流淌
阅读(399)
评论(0)
推荐(0)
摘要:
定义接口成员接口可以包含一个和多个成员,这些成员可以是方法、属性、索引指示器和事件,但不能是常量、域、操作符、构造函数或析构函数,而且不能包含任何静态成员。接口定义创建新的定义空间,并且接口定义直接包含的接口成员定义将新成员引入该定义空间。说明:· 接口的成员是从基接口继承的成员和由接口本身定义的成员。· 接口定义可以定义零个或多个成员。接口的成员必须是方法、属性、事件或索引器。接口不能包含常数、字段、运算符、实例构造函数、析构函数或类型,也不能包含任何种类的静态成员。· 定义一个接口,该接口对于每种可能种类的成员都包含一个:方法、属性、事件和索引器。· 阅读全文
posted @ 2011-11-16 10:08
指尖流淌
阅读(726)
评论(0)
推荐(0)
摘要:
1、C#接口的作用 :C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的,比尔盖茨的微软请的员工都是比盖茨还聪明的人,他们的C#能添这样的多足吗?!关于接口的作用,网上有一位就真的深入浅出给我们做了很好理解的分析。 我们定义一个接口public interface IBark{ void Bark();}再定义一个类,继承于IBark,并且必需实现其中的Bark()方法public cla... 阅读全文
posted @ 2011-11-16 10:06
指尖流淌
阅读(11086)
评论(0)
推荐(5)
摘要:
编辑器加载中...///<summary>///这个类所能实现的功能只要是学习接口的定义、这边有几个知识的需要指出:///<1> 子接口继承父接口的接口时,必须实现父接口所有的函数及定义类型///</summary> interface I_1_A //声明一个接口,这里面包含一个属性A { int A { get; set; } } interface I_2_B //声明第二个接口,这里面包含一个方法Count { int Count(int i, int j); } interface I_2_C : I_1_A,... 阅读全文
posted @ 2011-11-16 10:05
指尖流淌
阅读(551)
评论(0)
推荐(0)
摘要:
/// <summary>///这个是第二个接口的引用,<1> 外部对接口的访问,如果出现同名的参数或者方法,必须的指出他的父接口,即必须为显示的调用///<2> 特别是在不清楚具体情况的前提下,最后是做的保守一点/// </summary> public interface I_3_A//此处定义一个接口包含一个方法J,一个属性Count { int Count { get; set; } int J(int j);}public interface I_3_B //这里面也定义第二个接口包含一个方法Count,一个属性J,但注意这和上一个接口 阅读全文
posted @ 2011-11-16 10:03
指尖流淌
阅读(396)
评论(0)
推荐(0)
摘要:
// <summary> ///这个实例主要介绍类中对多种继承中的成员访问的问题,,在介绍接口的同时不得不提一提,接口的应用在多层的调用中,为了保证底层的类的实现。必须分好层次。防止“接口污染” ///</summary>public interface I_4_A //定义接口、包含一个方法F{ string F(string A);}public interface I_4_B : I_4_A{ new string F(string A); //此方法是对基接口中的方法重写的方法。在不影响基接口中方法的实现的话,可以在同样的方法前面加上一个new的关键字来实现方法 阅读全文
posted @ 2011-11-16 10:01
指尖流淌
阅读(1603)
评论(0)
推荐(0)
摘要:
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;/* 这个案例主要讲解:<1> 显示的调用接口中的方法 阅读全文
posted @ 2011-11-16 09:59
指尖流淌
阅读(1868)
评论(0)
推荐(0)
摘要:
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;/* 这个案例主要人任务是介绍。接口中方法的重写及覆盖的等方法,这 阅读全文
posted @ 2011-11-16 09:56
指尖流淌
阅读(3621)
评论(0)
推荐(0)
摘要:
本案例主要讲解是虚函数和接口的应用的方法,但是在这里牵扯到很多的知识点,是一个综合性的例题,案例如下:using System; using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;usi 阅读全文
posted @ 2011-11-16 09:52
指尖流淌
阅读(370)
评论(0)
推荐(0)
摘要:
1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取当前时 int 时=currentTime.Hour; 1.6 取当前分 int 分=currentTime.Minute; 1.7 取当前秒 int ... 阅读全文
posted @ 2011-11-16 09:49
指尖流淌
阅读(312)
评论(0)
推荐(0)
摘要:
1.静态类与非静态类 ●.静态类中只能包含静态成员和静态方法,否则会抛出编译错误; 而非静态类中可以包含非静态成员和非静态方法,也可以包含 静态成员和静态方法; ●.静态类不可以实例化;非静态类可以实例化。不管是静态类还是 非静态类,对于静态成员和静态方法的调用都必须通过类来实现; ●.如果一个类只包含静态成员和静态方法,应该将该类标记为static, 并提供私有的构造函数来避免实例创建,其实这个也是单件模拟的体现; 2静态构造函数与实例构造函数 静态构造函数,用户初始化类中的静态成员,包括静态字段和静态属性。 静态构造函数不能参参数、不能有访问修饰符也不能为调用,通常由... 阅读全文
posted @ 2011-11-16 09:42
指尖流淌
阅读(1280)
评论(0)
推荐(0)
摘要:
写此篇日志的作用是为了弄清楚xml语言的基础语法,作为下一代可扩充标记语言,我能深深体会到此门语言的重要性,其可扩展性之强,可跨平台传输,甚至替代数据库来存储数据,当然也有其固定的语法格式。 在头部必须声明一个xml语言的标记类型,及标记语言的解析模式,下面看这个语言实例:<?xml version="1.0" encoding="utf-8" ?><四大名著> <三国演义> <作者>罗贯中</作者> <人物>曹操</人物> </三国演义> <红楼梦&g 阅读全文
posted @ 2011-11-16 09:41
指尖流淌
阅读(395)
评论(0)
推荐(0)
摘要:
设计模式要遵循的几条原则:1.单一职责原则--每个类型最好只提供一种变化的条件,也就是只做一件事。2.开闭原则--开放更新,关闭修改。3.替换原则--就是 is a 的关系,也就是在程序运行时所有的子类都可以替换为基类4.依赖倒置原则--高层模块不应该依赖于低层模块,两者都要依赖于抽象,而抽象不应该依赖于细节,而细结就该依赖于抽象。5.接口隔离原则--不应该强迫用户依赖于它们不用的方法 阅读全文
posted @ 2011-11-16 09:38
指尖流淌
阅读(248)
评论(0)
推荐(0)
摘要:
css中的复合选择器分类:《1》交集选择器 div.special{......} div#special{........} 以上为交集选择器,当我们定义css样式时,这种选择器只有全部满足的时候才可以同时使用这里的属性《2》并集选择器 div,h1.first,p.special{..............}这种选择器的作用是当我们同时定义多选择器但是同时多个属性是同一类的时候,我们可以采用这种形式。《3》后代选择器 div h1.first {............} 这种选择器是多种形式并列的同时才能实现里面的属性css层叠特性中使用的按照一个顺序特定的排列方式应用,这个是一个.. 阅读全文
posted @ 2011-11-16 09:37
指尖流淌
阅读(476)
评论(0)
推荐(0)
摘要:
snk文件在.net里面被用作存放密钥或密钥对的存储文件,生成密钥对snk文件可以用.net中的sn.exe命令,如“sn -k keyPair.snk”。 snk本身只是用来存放非对称密钥的,但在各个需要用到加密、签名的地方都可以使用: 用snk文件生成强命名程序集,这样一个assembly才可以被赋予full-trust属性,也可以被添加到GAC中。在VS.NET中生成 strong-named assembly,只需要在AssemblyInfo.cs里面添加一下代码并编译即可: [assembly: AssemblyDelaySign(false)] [assembly: ... 阅读全文
posted @ 2011-11-16 09:36
指尖流淌
阅读(484)
评论(0)
推荐(0)
摘要:
当我们在插入数据库表中的数据时,常常的要在插入完的同时,还要取出里面最大的标识列的值,然后再插入另一张表,下面方法实现的是当我们插入值时同时取出刚插入的值的标识列作为返回值,返回给函数调用: 新建一个存储过程:CREATE PROCEDURE Add_New_Dealer @MaxID int = null out--输出参数,供程序使用AS INSERT INTO Dealer_Table (Dealer_Title, Dealer_Msg, Link_Man, Is_God, Hits, Link_Tel, Link_Fax, Wang_Zhi, E_Email, Adress, D... 阅读全文
posted @ 2011-11-16 09:33
指尖流淌
阅读(392)
评论(0)
推荐(0)
摘要:
简单工厂模式(Simple Factory Pattern)意图: 《1》专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 《2》(simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常他根据自变量的不同返回不同类的实例。 《3》简单工厂模式实质是由一个工厂类根据传入的参量,动态的决定应该创建出那一个产品类的实例。 《4》简单工厂模式实际上不属于23中GOF模式,但他作为工厂方法模式(Factory Method)的一个引导。简单工厂模式角色的分类: 《1》工厂角色:是简单工厂模式的核心,他负责. 阅读全文
posted @ 2011-11-16 09:32
指尖流淌
阅读(308)
评论(0)
推荐(0)
摘要:
c#允许一个类继承其他类的属性和方法,别继承的类称为父类,继承的类称为派生类或子类。子类不仅仅可以继承基类的属性和方法,还可以根据需要定义新的属性和方法,增加新的功能,这样可是用户重用基类的代码,专注于子类的新代码,提高类的可重用性,继承的好处是能共享代码,继承后,父类的所有的字段和方法都将存在于子类中,每一个子类都具有父类的非私有特性。c#语言中子类仅能派生于一个父类。1.继承的定义如果要声明一个类派生于另一个类,可以使用下面的语法[修饰符] class 派生类名:基类名{ //派生类的成员}其中: 修饰符:可选用poublic internal absrtract sealed new . 阅读全文
posted @ 2011-11-16 09:29
指尖流淌
阅读(367)
评论(0)
推荐(0)
摘要:
接口包含方法、属性、事件、索引等一系列声明,可以让类来实现指定的接口,这个类来实现指定的接口,这个类必须为接口中指定的生命来定义代码。结构也可以实现接口,实现方法与类相同。接口的定义修饰符 interface 接口名{ 接口体}接口的说明如下:修饰符:控制接口的存取限制符,与类相同。对接口比较适合的存取限制符是public.接口名:所声明接口的名称。习惯上,接口用大写的I开始,跟在I后面的字符也是大写的,例IDrivable.接口体:用于定义接口的成员。接口的成员可以是方法,属性,索引,和事件,不包含字段。所有的成员都不包含访问修饰符,所有的成员都隐式的声明为public,原因是接口只是一组声 阅读全文
posted @ 2011-11-16 09:28
指尖流淌
阅读(263)
评论(0)
推荐(0)
摘要:
c#多态性的定义:同一操作作用于不同的类的实例,不同的类将进行不同的理解,最后产生不同的执行结果。c#支持两种类型的多态性:《1》编译时的的多态性。编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数,返回的类型等信息决定实现何种操作。《2》运行时的多态性。运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作,c#中,运行时的多态性通过虚成员实现。编译时的多态性为我们提供了运行速度的快的特点,而运行时的多态性则带来了高度灵活的特点。虚方法当类中的方法声明前加上virtual修饰符时,我们称之为虚方法,反之为非虚方法。class MyBaseClass 阅读全文
posted @ 2011-11-16 09:28
指尖流淌
阅读(244)
评论(0)
推荐(0)
摘要:
在简单工厂模式中,一个工厂处于对产品类进行实例化的中心位置,他知道每一个产品类的细节,并决定何时哪一个产品类应当被实例化。简单工厂模式的优点是能够使客户端独立于产品的创建过程,并且在系统中引入新产品时无需对客户端进行修改,缺点是当有新产品加入到系统中的时,必须修改工厂类,以加入必要的处理逻辑。简单工厂模式的致命弱点就是处于核心地位的工程类,因为一旦他无法确定要对那个类进行实例化,就无法使用该模式,而工厂方法模式则可以很好的解决这个问题。 简单方法模式可分为: (1)Product:产品角色 在我们c#中一般使用抽象类和接口实现 定义产品的接口 (2)CreateProduct:真实的产品 实. 阅读全文
posted @ 2011-11-16 09:26
指尖流淌
阅读(598)
评论(0)
推荐(0)
摘要:
前几天的时候网友问了个技术性的问题,考虑了好几天,今天把自己总结出来的点点经验总结如下:怎样使用用户注册时,自动的查找用户名字是否已经注册,其实总结起来很多种方式能实现,把最常用的几种方式列一下:《1》用javascrpt实现用户名的查找功能,即当我们打开注册页面的时候就将已经注册的用户名放入客户端,此种方法适合于轻量级的用户注册,并且对系统的要求安全性不高的基础之上,放入客户端的kookie或者直接放在页面代码中,当我们用户输入的时候直接检查就行:后台代码:using System.Xml.Linq;using System.Data.SqlClient;using System.Text; 阅读全文
posted @ 2011-11-16 09:23
指尖流淌
阅读(8560)
评论(0)
推荐(0)
摘要:
这个存储过程用来数据的分页,里面构造的一个函数实现这个功能;if object_id('fenye','p') is not null/*判断是否存在fenye这个存储过程*/ drop proc fenye GO CREATE PROCEDURE [dbo].[fenye] @currentpage int=1,/*记录当前的页数,初始值为1*/@count int=10, /*每一个页面所显示的数据量*/@tablename varchar(20),/*所查询的表的名字*/@colunm varchar(20) /*表中查询的字段*/AS declare @ 阅读全文
posted @ 2011-11-16 09:18
指尖流淌
阅读(431)
评论(0)
推荐(0)
摘要:
ASP.NET数据库备份和还原先导入Interop.SQLDMO.dll (com组件)using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;/ 阅读全文
posted @ 2011-11-16 09:11
指尖流淌
阅读(385)
评论(0)
推荐(0)
摘要:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; //设计模式之单件模式 /* 单件设计模式适用性:1、当类只能有一个实例而且客户可以弄一个众所周知的访问点访问它时 * 1、当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时 * 应用场景: * 1、每台计算机可以有若干个打印机,但只能有一个Printer Spooler.避免两个打印作业同时输出到打印机。 * 2、pc机中可能有几个串口, 阅读全文
posted @ 2011-11-16 09:09
指尖流淌
阅读(194)
评论(0)
推荐(0)
摘要:
using System; using System.Collections.Generic; using System.Linq; using System.Text; ///在电脑组装机总有这样的经历,我们到了店里,先会有一个销售人员来询问你希望装的机器是怎么样的 ///的配置,他会给你一些建议,最终会形成一张装机单。和客户确定好装机配置以后,他会把这张单子交给 ///提货的人,由他来准备这些配件,准备完成后交给装机技术人员。技术人员会吧这些配件装成一个整机交给 ///客户 ///不管是什么电脑,它总是有CPU,内存、主板、硬盘以及显卡等部件构成的,并且装机的过程过程总是固定的: ///1 阅读全文
posted @ 2011-11-16 09:07
指尖流淌
阅读(250)
评论(0)
推荐(0)
摘要:
意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。场景 游戏场景中的有很多相似的敌人,它们的技能都一样,但是随着敌人出现的位置不同,这些人的能力不太一样。假设,我们现在需要把三个步兵组成一队,其中还有一个精英步兵,能力特别高。那么,你或许可以创建一个敌人抽象类,然后对于不同能力的步兵创建不同的子类。然后,使用工厂方法等设计模式让调用方依赖敌人抽象类。 问题来了,如果有无数种能力不同步兵,难道需要创建无数子类吗?还有,步兵模型的初始化工作是非常耗时的,创建这么多步兵对象可能还会浪费很多时间。我们是不是可以通过只创建一个步兵原型,然后复制出多个一摸一样的步兵呢?复制后,只需要调 阅读全文
posted @ 2011-11-16 09:04
指尖流淌
阅读(237)
评论(0)
推荐(0)
摘要:
概述创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该如何使用创建型模式。为什么需要创建型模式所有的创建型模式都有两个永恒的主旋律:第一,它们都将系统使用哪些具体类的信息封装起来;第二,它们隐藏了这些类的实例是如何被创建和组织的。外界对于这些对象只知道它们共同的接口,而不清楚其具体的实现细节。正因如此,创建型模式在创建什么(what),由谁(who)来创建,以及何时(when)创建这些方面,都为软件设计者提供了尽可能大的灵活性。假定在一个游戏开发场景中,会用到一个现代 阅读全文
posted @ 2011-11-16 09:03
指尖流淌
阅读(246)
评论(0)
推荐(1)
摘要:
概述:在软件系统中,由于应用环境的变化。常常需要将“一些现存的对象”放在新的环境中应用,但是新的环境中要求的接口是这些现存对象所不能满足的。那么如何应对这种“迁移的变化”?如何既能利用现有的对象的良好实现,同时有能满足新的应用环境所要求的接口?这就是本文要说的Adapter模式。生活中的例子:适配器模式允许将一个类的接口转换成客户期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。扳手提供了一个适配器的例子,一个空套在一个齿上,齿轮的每个边的尺寸是相同的。生活中的例子:6号板子能那解开6号的螺丝,8号的板子能解8号的螺丝。我们需要做的就是将用8号的板子来打开6号的螺丝。适配 阅读全文
posted @ 2011-11-16 09:02
指尖流淌
阅读(346)
评论(0)
推荐(0)
摘要:
所有编程初学者都会有这样的问题、就是碰到问题就直觉的用计算机能理解的逻辑来描述和表达待解决的问题及具体的求解过程。这其实是用计算机的方式去思考、比如计算器程序,现要求输入两个数和运算符号、然后根据运算符号判断选择运算、得到结果,这本是没有错,但这样的思维确实的我们的程序只能满足实现当前的需求,程序不容易维护,不容易服用。从而达不到高质量代码的要求。举例:中国古代的活字印刷技术没发明以前、当一个刻板完成以后、要需改动里面的一个字的时候、就需要全部重新刻、这样以前刻好的文字就全部白费、但活字印刷改变了这个方向:第一、要改里面的一个字就行、此为可维护;第二、这些字并非用完这次就无用,完全可以再后来的 阅读全文
posted @ 2011-11-16 09:01
指尖流淌
阅读(218)
评论(0)
推荐(0)
摘要:
上一篇日志、我们应用到了设计模式三大特性的封装、今天这一片我们继续研究程序设计的另几种比较优秀的特性。在上面的程序中这款计算器只涉及了加、减、乘、除算法、现在我们要加一个平方根运算,我们的思路会是改动我们的计算类,在switch中加一个分支就行了,但是这样的话要让加减乘除的运算都得来参与编译,如果你一不小心,把加法运算改成了减法,这岂不是大大的糟糕。这还不是最主要的,看这个例子,如果公司要求你为公司的薪资管理系统做维护,原来只有技术人员(月薪),市场销售人员(底薪+提成),经理(年薪+股份)三种运算算法,现在要增加兼职人员(时新)的算法,但按照咱的思路写法,公司就必须把包含原三种算法的运算类给 阅读全文
posted @ 2011-11-16 08:59
指尖流淌
阅读(204)
评论(0)
推荐(0)
摘要:
摘抄自《大话设计模式》一书报名参赛:“来、来、来,快来报名了,设计模式大赛,每个人都有机会,每个人都能成功,今天你参加比赛给自己一个机会,明天你就成功还社会一个辉煌。来来......”台子上方一很长的横幅,上写着“OOTV杯设计模式大赛海选”,下面一个帅小伙拿着话筒卖力的吆喝着。“大姐、二姐,我们也去参加报名参加吧。”工厂三姐妹中最小的简单工厂说道,“这种选秀比赛,多的去了,很多是骗子的,没意思”大姐抽象工厂说“我觉得我们三姐妹有机会的,毕竟我们从小就是学这个出身。”二姐工厂方法也很有兴趣参加。“大姐,去吧,去吧”简单工厂拉住抽象工厂的手左右摇摆着。“行了行了,我们去试试,成就成,不成可别乱哭 阅读全文
posted @ 2011-11-16 08:58
指尖流淌
阅读(452)
评论(0)
推荐(0)
摘要:
在第二篇日志中我们完成了一个初级的入门模式:简单工厂模式。现在应客户需求咱来完成一个简单的商场收银软件,营业员根据客户所购买的产品的单价和数量,向客户收费。用两个文本框来输入单价和数量,一个确定按钮来算出每种商品的费用,用个列表框来记录商品的清单。为了适应市场的需求,有时候为了商场的盈利、吸引更多的顾客,商场会举行一系列的活动,诸如:满300返100、满700返200、满200送50等、这样的在此项目中变化的算法的变化、咱用简单工厂模式来封装此变化点。咱来分析这个项目:面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象。具有相同属性和功能的对象的抽象类的集合才是类。所以在 阅读全文
posted @ 2011-11-16 08:56
指尖流淌
阅读(194)
评论(0)
推荐(0)
摘要:
声明:转自《大话设计模式》一书在第三篇日志中我们应用到简单工厂模式来应对商场中举行活动所带来的诸多变化,但是由于市场变化的频繁性,简单工厂模式已经不能满足市场的变化,这一篇咱介绍一种新的模式:策略模式。策略模式:它定义了算法家族,分别封装起来,让他们之间可以相互替换,不会影响到使用算法的客户在商场中收银时如何促销,永达这还是返利,其实都是一些算法,用工厂来生成算法对象,这个没有错,但算法本身只是一种策略,最重要的是这些算法随时随地都有可能变化互相替换的,这就是变化点,我们封装变好点使我们面向对象的一种很重要的思维方式。我们看策略模式是怎样实现封装变好点的。第一步:抽象算法类第二步:分别实现算法 阅读全文
posted @ 2011-11-16 08:55
指尖流淌
阅读(209)
评论(0)
推荐(0)
摘要:
这篇日志我们来介绍设计模式的一大原则:单一职责原则单一职责原则(SRP):就一个类而言,应该仅有一个引起他变化的原因现在来设计俄罗斯方块游戏、要是我们完成这个小游戏,我们的思路是什么?我们一般会这样考虑,首先他方块下落的原理是画四个小方块,擦掉,然后再在下一行画四个方块。不断的绘出和擦掉就形成了动画,所以应该要有画和擦方块的代码,然后左右键实现左移和右移,下键实现加速,上键实现旋转,这其实都应该是函数,当然左右移动需要考虑碰撞问题,下移需要考虑堆积和消层问题。步骤如下:1、先建立一个窗体、2、加上一个用于游戏框架的控件,比如Panel或者picturebox,一个按钮button来控制“开始” 阅读全文
posted @ 2011-11-16 08:52
指尖流淌
阅读(228)
评论(0)
推荐(0)
摘要:
在软件系统中,有时候面临的产品是动态变化的,而且这个产品具有一定的等级结构,这是如果用工厂模式,则与产品等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适,那么如何封装这种动态的变化?从而使依赖与这些易变化的对象的客户程序不随着产品类的变化?这就是这篇日志所要描述的:原型模式原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型的创建新的对象举个例子:原型模式使用原型实例指定创建对象的种类,新产品的原型通常是现有全部产品建立的,这样的原型是被动的,并不参与复制他自己,一个细胞的有丝分裂,产生了两个同样的细胞,是一个扮演主动角色复制自己原型的例子,这演示了原型模式,一个细胞分裂, 阅读全文
posted @ 2011-11-16 08:50
指尖流淌
阅读(351)
评论(0)
推荐(0)
摘要:
三层构架一般的是只界面层、业务层、数据层。界面层就是系统的操作界面,和用户直接交互的地方,业务层又称逻辑层,英文名称是Business Logic Layer;简称BLL,是执行业务逻辑的地方,也就是业务逻辑规则都在这个层中体现,数据层也称为数据访问层,英文名称是Database Access Layer,简称DAL,这里是直接和数据库进行交互的地方,也是整个系统里唯一允许访问数据库的地方,除此之外,还有一个业务实体层,这个层比较特殊,就是定义实体类的地方,有些人把这个层归属业务层,有些人把这个层对立出来,变成一个公共层。各个层次之间的访问关系,界面层只能只能单向访问业务逻辑层,业务逻辑层只能 阅读全文
posted @ 2011-11-16 08:47
指尖流淌
阅读(2132)
评论(1)
推荐(0)
摘要:
在我们生活中一些事物总有它它特有的属性、像论文、建立、求职信等、都有其固有的格式来书写,下面咱咱用简历来实现咱原型模式的实现。当咱书写一份简历时,必须要有姓名、可以设计性别、年龄、可以设置工作经历,最终咱们就可以利用这个固定的模式来书写简历。简历的初步代码实现如下: 这里面客户端用到两份简历、我们需要实例化两次,这样你会不会觉得在客户端很麻烦,假如我们需要二十份简历的话,那我们至少需要实例化29次了啊,这倒不是很严重的,假如我们要将98年改成99年,那我们就要改二十次了,好到此我们该是原型模式出场的时候了,因为所有的简历的格式是固定的,原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原 阅读全文
posted @ 2011-11-16 08:46
指尖流淌
阅读(207)
评论(0)
推荐(0)
摘要:
在我们生活中一些事物总有它它特有的属性、像论文、建立、求职信等、都有其固有的格式来书写,下面咱咱用简历来实现咱原型模式的实现。当咱书写一份简历时,必须要有姓名、可以设计性别、年龄、可以设置工作经历,最终咱们就可以利用这个固定的模式来书写简历。简历的初步代码实现如下: 这里面客户端用到两份简历、我们需要实例化两次,这样你会不会觉得在客户端很麻烦,假如我们需要二十份简历的话,那我们至少需要实例化29次了啊,这倒不是很严重的,假如我们要将98年改成99年,那我们就要改二十次了,好到此我们该是原型模式出场的时候了,因为所有的简历的格式是固定的,原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原 阅读全文
posted @ 2011-11-16 08:43
指尖流淌
阅读(205)
评论(0)
推荐(0)
摘要:
先声明此文章是个人学习《大话设计模式》这本书个人学习积累之用....非个人原创...因其公司最近统一工装,需要我们自己去配置服装,这里面分得了很多学问,在我们平常的时候,我们不妨走点嘻哈路线,像:大T恤、跨库、破球鞋、这要求我们平常的时候穿,但是我们在上班的时候我们就需要换一种装饰了,像:黑西装、黑领带、黑皮鞋.......说到此、在我们平常生活中,比如腾讯的QQ装扮、网络游戏装扮、都需要我们来设计角色的着装问题,好咱现就第一种装扮用程序来实现:这样我们实现了用户自己选择服装的功能,当我们上班的时候我们就可以选择第二种正装来实现共能,在下班后我们就可以用第一种软件来实现,但是问题又出来了,夏天 阅读全文
posted @ 2011-11-16 08:39
指尖流淌
阅读(215)
评论(0)
推荐(0)
摘要:
1、 自动更新OOB模式的问题以及怎样避免需要数字签名,关于OOB模式的在线更新需要自己实现如下代码: 1 2 3 4 5 6 7 8 91011121314151617181920212223242526271 private void OnCheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e) 2 { 3 if (e.UpdateAvailable && e.Error == null) 4 { 5 MessageBox.Show("应用新 阅读全文
posted @ 2011-11-16 08:32
指尖流淌
阅读(976)
评论(0)
推荐(0)
摘要:
在用户界面设计方面的竞争多半是围绕着如何制作出有吸引力、使用、灵活的用户界面而开展的,在基于浏览器的应用中进行界面的设计是一种更加需要技巧的工作,因为我们的客户端总是丰富多样而又难以准确预测,幸好,Silverlight继承了WPF中灵活的界面设计的特点。Silverlight中使用Layout model进行布局的管理,我们将所有的元素放在一个容器container中,每个容器都有自己的界面逻辑,比如ackpanel,grid,canvas等,我们甚至可以创建具有自定义逻辑的容器。所有的容器都从抽象类system.windows.controls.panel.class继承而来.panel类 阅读全文
posted @ 2011-11-16 08:31
指尖流淌
阅读(656)
评论(0)
推荐(0)
摘要:
今天在做silverlight访问wcf服务时候报异常:给定关键字不在字典中经过一阵的调试,发现ServiceReferences.ClientConfig文件<configuration>内容为空,继续追查到wcf工程的Web.config文件发现 <endpoint address="" binding="basicHttpBinding" contract="SilverlightApplication4.Web.IService1">这里没有配置,silverlight(2.0)目前只支持basicHt 阅读全文
posted @ 2011-11-16 08:30
指尖流淌
阅读(628)
评论(0)
推荐(0)
摘要:
一、Frame框架跳转的运用: 新建一个MainPage.xaml页面,输入以下代码: 1 2 3 4 5 6 7 8 91011<StackPanel> <StackPanel Orientation="Horizontal" Background="WhiteSmoke"> <HyperlinkButton Content="页面1" FontSize="14" NavigateUri="/Page1.xaml" TargetName="tgFrame 阅读全文
posted @ 2011-11-16 08:29
指尖流淌
阅读(430)
评论(0)
推荐(0)
摘要:
在wcf跨域访问操作的时候,需要用户自定义文件、来明确访问用户的身份和非法用户登录,日记录文件如下:一、在WCF项目根目录下添加clientaccesspolicy.xml文件<?xml version="1.0" encoding="utf-8"?><access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*"/ 阅读全文
posted @ 2011-11-16 08:26
指尖流淌
阅读(490)
评论(0)
推荐(0)
摘要:
开发环境:vs2010+sl4+ Toolkit April 20101、安装好Microsoft Silverlight 4 Toolkit April 20102、打开Toolkit 安装目录下的Themes/xaml文件夹,你可以看到非常多的xaml主题文件如图:3、新建一个silverlight项目,并在项目下建一个Themes文件夹4、把Toolkit 安装目录下的Themes/xaml文件夹下的文件拷贝到Themes下效果如图:6、设计Demo界面右上角放一个combobox 用来选择皮肤中间爱放啥就放啥7、关键代码//匹配路径String skinStr = "Them 阅读全文
posted @ 2011-11-16 08:25
指尖流淌
阅读(230)
评论(0)
推荐(0)
摘要:
开发环境:vs2010+sl4+ Toolkit April 20101、安装好Microsoft Silverlight 4 Toolkit April 20102、引入dll3、写相关代码例如: BureauBlackTheme.SetIsApplicationTheme(App.Current, true);//设置主题//我是使用combobox 来做demo的switch(cbSkins.SelectedValue.ToString()){ case "BureauBlackTheme": BureauBlackTheme.SetIsApplicationThem 阅读全文
posted @ 2011-11-16 08:25
指尖流淌
阅读(176)
评论(0)
推荐(0)
摘要:
在以前的Silverlight应用程序中,我们都是通过给Web项目添加一个新的WCF服务,并填充代码的方式创建Windows通信基础(WCF)服务的,这种方法导致我在测试和调试我的服务配置时遇到了许多问题,有没有更好的方法来添加一个WCF服务? 创建WCF服务的方法很多,这里要介绍的方法会让你解决问题变得更容易,它利用Visual Studio 2010中提供的轻量级WCF配置选项。 向Silverlight应用程序添加一个服务最简单的方法是,向Silverlight解决方案的Web应用程序项目添加一个WCF服务项,当你添加一个名为TestServiceCB的服务时,Visual Stud.. 阅读全文
posted @ 2011-11-16 08:23
指尖流淌
阅读(220)
评论(0)
推荐(0)
摘要:
注意:Silverlight目前只支持png和jpg格式的图片。 设置背景图片很简单,使用ImageBrush即可。如下:<Grid.Background> <ImageBrush ImageSource="bg.png" Stretch="Fill"></ImageBrush></Grid.Background> 阅读全文
posted @ 2011-11-16 08:22
指尖流淌
阅读(242)
评论(0)
推荐(0)
摘要:
在我们asp.net中我们页面控件的样式是通过css控制的,同样在silverlight中也设置了几种不同方式的控件样式控制方法1、对于全局样式的控制我们放在App.xaml文件中<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="Silverlight20.App" > <Applic 阅读全文
posted @ 2011-11-16 08:21
指尖流淌
阅读(346)
评论(0)
推荐(0)
摘要:
开发日常的Silverlight应用程序时,常常要对一个域多个控件实现可拖放的MOUSE操作,在Silverlight中实现拖放的功能其实非常简单,但是为了提高程序功能代码的可复用性,程序员常常喜欢把常用的代码封装成一个工具类,例如Asp.net中常用SQLHelper类,用来操作数据库的,这里我们介绍的类是在Silverlight中实现拖动的工具类,它支持Silverlight2.0至Silverlight4.0的各个版本通用,好了话不多说,我们还是看代码吧:public static class DragDrop{ private static bool IsDragging = f... 阅读全文
posted @ 2011-11-16 08:20
指尖流淌
阅读(228)
评论(0)
推荐(0)
摘要:
说明:Silverlight的ChildWindow组件给我们的开发带来了便利,比如说我们可以用它开发自定义对话框等。然而,这同时也带来了这样一个问题,ChildWindow组件只能以Modal Window(模式窗口)的形式进行应用,这也就是说同一时间只能有一个子窗体出现在应用程序中;另外,ChildWindow组件不能进行窗体大小的自定义缩放。如果我们想要开发多窗口的应用程序的话,ChildWindow显然就不能满足我们的要求了。幸运的是,Tim Heuer为我们提供了Non-Modal Used ChildWindow组件(非模式使用子窗体——Tim Heuer称之为浮动窗体[Float 阅读全文
posted @ 2011-11-16 08:18
指尖流淌
阅读(455)
评论(0)
推荐(0)
摘要:
相信大家在用Silverlight做应用开发时,随着项目的进展系统功能越来越多,肯定为Xap包越来越大而烦恼,Xap包的大小直接影响应用程序的加载速度,给用户造成不良的用户体验。我也曾为这个问题头痛过,经过在网上查阅资料和项目实践发现可通过以下三种方式给Silverlight应用程廋身。 1、定期检查系统项目模块的引用集,移除多余的引用库 2、图片资源文件,如果不是必须放在资源中的,可以采用按需加载 3、将系统划分成多个Silverlight项目,然后根据需要进行Xap加载 下面我将结合实例来对三种方法进行说明: 一、定期检查,移除多余引用库 在我们实际项目开发中,我们有时因技术的需要会引用. 阅读全文
posted @ 2011-11-16 08:16
指尖流淌
阅读(255)
评论(0)
推荐(0)

浙公网安备 33010602011771号