`
tudusi
  • 浏览: 1085317 次
文章分类
社区版块
存档分类
最新评论
文章列表
概述 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 意图 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。[GOF《设计模式》] 结构图 图1 Composite模式结构图 生活中的例子 组合模式将对象组合成树形结构以表示"部分-整体"的层次结构。让用户一致地使用单个对象和组合对象。虽然例子抽象一些,但是算术表达式确实是组合的例子。算术表达式包括操作数 ...
概述 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多 ...
200 :ok 302 :Found重定向 400 :错误请求 403 :禁止 404 :未找到 500 : 服务器内部错误 503 :Service Unavailable 200成功 300需要对请求做进一步处理 400客户端请求错误 500服务器错误
概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就 ...
这是一道acm练习题,原题见“北京理工大学2012年ACM寒假练习题”,http://acm.bit.edu.cn/mod/programming/view.php?a=485 Problem DescriptionNow let’s calculate the answer of a + b ~InputThe input will consist of a set of pairs of integers for a and b(-10^1000 <= a, b <= 10^1000). The input is ended by EOF.OutputFor e ...
一、//TransmitFile实现下载 protectedvoid Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite 下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。 代码如下: */ Response.ContentType ="application/x-zip-compressed"; Response.AddHeader("Conten ...
概述 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是本文要说的Adapter模式。 意图 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 结构图 图1类的Adapter模式结构图 图2对象的Adapter模式结构图 生活中的例子 适配器模式允许将一个类的接口转换成客户期望的另一个接口,使得原本由于接口不兼容而不能 ...
session viewstate 占用服务器资源 true false time out true false 存储任何.net类型 true false(只支持strings, integers, Booleans, arrays, ArrayList, hashtable, custom TypeConverters) 加重html负载 false true session 对整个 application 有效 ,而 viewstate相当于 某个页面的 session 定义 viewstate // save in ViewState ViewState["S ...
一、引言: 伪静态技术可以实现诸如Show.aspxMyID=1成功转换为1.html的转换。 我们为什么不直接使用Show.aspx?MyID=1,这种访问方式而非要使用1.html这样的访问方式呢。 Asp.net伪静态的好处:运行PHP,ASP.NET,JSP,ColdFusion的网页服务器( ...
修改asp.net内置成员管理中的强密码规则,密码最短长度为7,其中必须包含以下非字母数字字符: 1 ASP.Net Web Site Administration Tool 安全设置向导中创建用户时,出现错误提示: 密码最短长度为 7,其中必须包含以下非字母数字字符: 1。 ...
转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。常用的转义字符及其含义转义字符 转义字符的意义\n 回车换行\t 横向跳到下一制表位置\v 竖向跳格\b 退格\r 回车
要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开系统的呢?这就要定期清除cache中的内容了,也就是设置一个cache的时间。这个时间可以跟用户的session值联系起来,刚好当用户session值失效的时候该用户在cache里面的信息也会被清空.这样就达到了防止同时登陆的效果,具体代码如下,放在登陆成功的地方: string key = TextBox1.Text; //用户名文本框设为cache关键字string uer = Conver ...
删除<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> 或者修改为如下 <compilation debug="false">
概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化? 意图 当一个对象生成不是通过New而是通过复制旧对象的时候,可以考虑使用原型模式。 结构图 Prototype模式结构图 生活中的例子 Prototype模式使用原型实例指定创建对象的种类。新产品的原型通常是先于全部产品建立的,这样的原型是被动的,并不参与复制它自己。一个细胞的有丝分裂,产生两个同样的细胞,是一个扮演主动角 ...
也许会有人这样解释C# 中浅拷贝与深拷贝区别: 浅拷贝是对引用类型拷贝地址,对值类型直接进行拷贝。 不能说它完全错误,但至少还不够严谨。比如:string 类型咋说? 其实,我们可以通过实践来寻找答案。 首先,定义以下类型: int 、string 、enum 、struct 、class 、int[ ] 、string[ ] 代码如下: //枚举 public enum myEnum { _1 = 1, _2 = 2 } //结构体 public struct myStruct { public int _int; public myStruct(int i) ...
Global site tag (gtag.js) - Google Analytics