工厂模式和策略模式区别
摘要:先上代码:定义一个抽象类//抽象类abstract class AbsClass{ //抽象方法:提供一些列的算法操作 public abstract void acceptCash(string org);} //继承自抽象类class A:AbsClass{ //具体方法:提供一些列的算法操作 public override double acceptCash(string org) { Console.WriterLine("A类方法"); }} //继承自抽象类class B:AbsClass{ //具体方法:提供一些列的算法操作 ...
阅读全文
posted @
2014-03-31 18:36
飞鸟快跑
阅读(1015)
推荐(0) 编辑
工厂模式
摘要:抽象类获取对象的方式: * 1). 创建其子类对象 * 2). 有的抽象类中提供了静态工厂方法来获取抽象类的实例. 工厂模式主要是为创建对象提供了接口。分为三类:1. 简单工厂模式(Simple Factory) 2. 工厂方法模式(Factory Method) 3. 抽象工厂模式(Abstract Factory) 这三种模式从上到下逐步抽象,并且更具一般性。还有一种分类法,就是将简单工厂模式看为工厂方法模式的一种特例,两个归为一类。下面是使用工厂模式的两种情况:1.在编码时不能预见需要创建哪种类的实例。2.系统不应依赖于产品类实例如何被创建、组合和表达的细节1. 简单工厂模式简单工厂模式
阅读全文
posted @
2014-03-31 18:20
飞鸟快跑
阅读(292)
推荐(0) 编辑
数组和链表的区别
摘要:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。比如:上一个元素有个指针指到下一个元素,以此类推,直到最后一个元素。如果要访问链表中一个元素,需要从第一个元素开始,一直找到需要的元素位置。但是增加和删除一个元素对于链表数据结构就
阅读全文
posted @
2014-03-31 08:59
飞鸟快跑
阅读(2440)
推荐(0) 编辑
java中字符串的比较
摘要:compareTo方法是比较两个字符串的词典顺序 也就是在字典中的顺序,比如“abcd”在“acdb”前面大于返回1,小于返回-1equals:比较两字符串的内容是否相同。相同返回1,不同返回-1对象的比较必须用equals==比较是否为同一reference。只是比较两个数据的地址,也就是这两个是不是同一个东西。你一个String和另一个String == ,绝对不会相等.因为它们是两个...总结:equals是用来比较字符串是否相等的,==不能用做字符串的比较.如果要比较大小应该用compareto(String),它是依次比较字符串的每个字符的大小
阅读全文
posted @
2014-03-31 08:17
飞鸟快跑
阅读(571)
推荐(0) 编辑
C#经典系列-跨语言
摘要:VS是个大平台,当C#不好实现的时候,可以想想是否可以引用下其他语言下面的方法,或许你有大收获~如何判断“a”是不是数字类型。1.在C#中我们可能会用TryParse来判断当前的”a“是否为整数。static void Main(string[] args) { ...
阅读全文
posted @
2014-03-30 22:57
飞鸟快跑
阅读(365)
推荐(0) 编辑
C#经典系列-键值对
摘要:1.ToDictionary,ToLookup从图中我们看到有四个ToXXX的方法,其中ToArray和ToList,用的是非常非常多我们有这样的一个实体 class student { public string StuNo { get; set; } //学号 ...
阅读全文
posted @
2014-03-30 22:04
飞鸟快跑
阅读(26765)
推荐(0) 编辑
MVC路由机制
摘要:按照传统,在很多Web框架中(如经典的ASP、JSP、PHP、ASP.NET等之类的框架),URL代表的是磁盘上的物理文件。例如,当看到请求http://example.com/albums/list.aspx时,我们可以确定该站点目录结构中含有一个albums文件夹,并且在该文件夹下还有一个list.aspx文件。 URL和文件系统之间这种一一对应的关系并不适用于大部分基于MVC的Web框架,如ASP.NET MVC.一般来说,这些框架采用不同的方法将URL映射到某个类上的方法调用,而不是映射到磁盘上的物理文件。 另外,对于MVC应用程序,URL 请求到达的第一个组件是控制器而不是视图,而.
阅读全文
posted @
2014-03-30 14:30
飞鸟快跑
阅读(20071)
推荐(1) 编辑
MVC控制器方法返回类型
摘要:控制器公开控制器操作。操作是控制器上的方法,在浏览器的地址栏中输入特定 URL 时被调用。例如,假设要请求下面的 URL:http://localhost/Product/Index/3在这种情况下,调用ProductController类上的Index()方法。Index()方法是控制器操作的一个示例。控制器操作必须是控制器类的公共方法。默认情况下,C# 方法是私有方法。请注意,任何添加到控制器类的公共方法都自动公开为控制器操作(必须小心对待这个问题,因为任何人都可以简单地通过在浏览器地址栏中键入正确的 URL 激活控制器操作)。控制器操作还必须满足一些其他要求。用作控制器操作的方法不能重载
阅读全文
posted @
2014-03-30 14:30
飞鸟快跑
阅读(1218)
推荐(0) 编辑
MVC加载view的方式
摘要:主要有Html.ActionLinkHtml.RenderPartialHtml.RenderActionHtml.PartialAjax.ActionLinkload浏览器对象模型 (BOM)(BrowserObjectModel)html中1. Html.ActionLink比如html代码@H...
阅读全文
posted @
2014-03-28 23:53
飞鸟快跑
阅读(1145)
推荐(0) 编辑
布尔型的转化
摘要:比如在控制器里定义一个布尔型Boolean an = trueViewDate["an"] = an传到view中在view中html取值if (Convert.ToBoolean(ViewData["an"]) == true){}在javascript中使用他的时候可以得到以下几种结果alert...
阅读全文
posted @
2014-03-28 23:44
飞鸟快跑
阅读(510)
推荐(0) 编辑
global.asax.cs介绍
摘要:ASP.NET的配置文件Global.asax--全局应用程序文件Web.config--基于XML的应用程序配置文件global.asax是一个文本文件,它提供全局可用代码。这些代码包括应用程序的事件处理程序以及会话事件、方法和静态变量。有时该文件也被称为应用程序文件。global.asax文件中的任何代码都是它所在的应用程序的一部分。每个应用程序在其根目录下只能有一个global.asax文件。然而,这个文件是可选的。如果没有global.asax文件,应用程序将对所有事件应用由HttpApplication类提供的默认行为。Global.asax文件主要有两种用途:定义应用程序级和会话级
阅读全文
posted @
2014-03-27 22:32
飞鸟快跑
阅读(1418)
推荐(0) 编辑
MVC中各类文件
摘要:sln:解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息。 .csproj:项目文件,创建应用程序所需的引用、数据连接、文件夹和文件的信息。 .aspx:Web 窗体页由两部分组成:视觉元素(HTML、服务器控件和静态文本)和该页的编程逻辑。Visual Studio 将这两个组成部分分别存储在一个单独的文件中。视觉元素在.aspx 文件中创建。 .aspx.cs:Web 窗体页的编程逻辑位于一个单独的类文件中,该文件称作代码隐藏类文件(.aspx.cs)。 .cs: 类模块代码文件。业务逻辑处理层的代码。 .asax:Global.asax 文件(也叫做 ASP.NET
阅读全文
posted @
2014-03-27 22:23
飞鸟快跑
阅读(261)
推荐(0) 编辑
MVC4的bundling功能简介
摘要:Bundling and Minification是asp.net mvc4中一项可以减少用户请求等待时间,提升用户体验的一项技术。在VS2010中新建MVC4项目是,如果选择"基本"项目,项目模板就会默认使用该项技术。但如果是选择“空”项目,或者想为自己原来的项目添加这项技术,该如何做呢。主要要以下几步:在项目中选择引入System.Web.Optimization。在Global.asax加入BundleConfig.RegisterBundles(BundleTable.Bundles)在两个web.config中加入(不加系统会提示CSHTML页中的SCRIPT等不
阅读全文
posted @
2014-03-27 22:21
飞鸟快跑
阅读(662)
推荐(0) 编辑
MVC的特点
摘要:1、MVC模式Mvc将应用程序分离为三个部分:Model:是一组类,用来描述被处理的数据,同时也定义这些数据如何被变更和操作的业务规则。与数据访问层非常类似。View:是一种动态生成HTML的模板,定义程序的用户界面如何显示。Controller:是一组类,用来处理来自用户的信息,全部程序流和具体的程序逻辑,通常以Controller为后缀。2、MVC之路MVC1:发布于2009年3月13日。MVC2:发布于2010年3月主要功能:UI helpers with automatic scaffolding with customizable templates。基于属性的模型验证(服务器端和客
阅读全文
posted @
2014-03-27 22:07
飞鸟快跑
阅读(1148)
推荐(0) 编辑
架构
摘要:OOA Object-Oriented Analysis(面向对象架构)架构是由Object组成的,而不是ClassSOA Service-Oriented Architecture 面向服务架构 服务就是运行后的功能(即终端业务,这种架构业务人员可以参与编程)ROA Relation-Oriented Architecture 面向关系架构 关系,是一种数学概念,架构就可计算。(维护阶段)架构独立于语言,一种架构可以用于各种语言。架构是view,对一种架构,可以从各个角度看它。4+1逻辑视图功能:机制视图 组件开发视图(Development View)程序设计,Class及其关系过程视图(
阅读全文
posted @
2014-03-26 23:20
飞鸟快跑
阅读(345)
推荐(0) 编辑
策略模式
摘要:模拟鸭子Joe是一名OO程序员,他为一家开发模拟鸭子池塘游戏的公司工作,该公司的主要产品是一种可以模拟展示多种会游泳和呷呷叫的鸭子的游戏。这个游戏是使用标准的面向对象技术开发的,系统里所有鸭子都继承于Duck基类,系统的核心类图如下:如图所示,在Duck基类里实现了公共的quack()和swim()方法,而MallardDuck和RedheadDuck可以分别覆盖实现自己的display()方法,这样即重用了公共的部分,又支持不同子类的个性化扩展。从目前的情况看,这是一个很好的设计,哈!但是,商场如战场,不进则退。Joe的公司最近的日子不好过,盗版泛滥,再加上竞争对手的围追堵劫,已经拖欠好几个
阅读全文
posted @
2014-03-26 10:31
飞鸟快跑
阅读(367)
推荐(0) 编辑
bin
摘要:动态链接库(Dynamic Link Library或者Dynamic-link library,缩写为DLL),是微软公司在微软视窗操作系统(即Windows操作系统)中实现共享函数库概念的一种方式。这些库函数的扩展名是.DLL、.OCX(包含ActiveX控制的库)或者.DRV(旧式的系统驱动程序)。动态链接库缩写为DLL,在电脑中可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。例如,您有一个大型网络游戏,如果把整个数百MB甚至数GB的游戏的代码都放在一个应用程序里,日后的修改工作将会十分费时,而如果把不同功能的代码分别放在数个动态链接库(DLL)中,您无需重新生成或安装整
阅读全文
posted @
2014-03-23 18:32
飞鸟快跑
阅读(1041)
推荐(0) 编辑
使用XSLT实现Word下载
摘要:Xslt是Extensible Stylesheet Language Transformations的缩写,用来将XML 文档转换到其它文档类型。XSLT的使用包括两个输入文件: – 包含实际数据的XML 文档 – 包含要插入数据与XSLT 命令架构的XSL文档 xml文档,包含的是Word中要填充的动态数据。XSLT文档,是Word中这些数据以及整个文档的格式。如果没有xml文件,Word文档每次生成就是一个静态的文件。如果没有XSLT,数据就不能转为为Word格式。所以,利用XSLT结合XML生成Word的步骤为:创建word模板创建xml数据结构生成xsd架构给word模板绑定xm..
阅读全文
posted @
2014-03-23 17:48
飞鸟快跑
阅读(980)
推荐(0) 编辑
<a>标签的href属性
摘要:标签的 href 属性用于指定超链接目标的 URL。语法属性值值描述URL超链接的 URL。可能的值:绝对 URL - 指向另一个站点(比如 href="http://www.example.com/index.htm")相对 URL - 指向站点内的某个文件(href="index.htm")锚 URL - 指向页面中的锚(href="#top")href的作用:返回页尾返回顶部例 定位到first相关处定位到second相关处定位到second相关处定位到second相关处定位到second相关处……………………first相关内容
阅读全文
posted @
2014-03-23 15:28
飞鸟快跑
阅读(1034)
推荐(0) 编辑
call-template和apply-templates
摘要:对xml模板 来说,name属性是很关键的 call-template /apply-template 的name必须要和模板的name相对应。模板相当于一个函数,可以暂时这么看。而name相当于函数名称.简单说apply是应用,call是调用。 用apply时,引擎自动搜索与当前select指定xpath的匹配节点相匹配的template(该template必须有属性match)并使用该template进行处理,此时需要指定的是select的path。 用call时就跟其它语言调用函数一样,必须指定name属性,相应的,该template必须有name属性,当然,也可以在这时with-par
阅读全文
posted @
2014-03-22 20:54
飞鸟快跑
阅读(1366)
推荐(0) 编辑
通过xslt把xml转换成html
摘要:将内容与内容的表现分离,软件界自从成为一个行业以来一直在追求的目标。xml+xslt是典型的数据与表现分离的设计方式。当然,你可以直接转换成HTML,但是如果你要进行整体变化的时候,XML+XSLT的优势就体现出来了。同样的数据,因为你已经有XML,已经不需要再进行一次数据库的访问,只要更换了XSLT,就可以生成新的HTML。另外,XML+XSLT的性能也是很优秀的。
阅读全文
posted @
2014-03-21 23:26
飞鸟快跑
阅读(367)
推荐(0) 编辑
XSLT学习
摘要:XSL 语言XSL(eXtensible Stylesheet Language)是可扩展样式表语言,是一种用于以可读格式呈现XML(标准通用标记语言的子集)数据的语言。XSL与xml CSS = HTML 样式表 HTML 使用预先定义的标签,每个标签的意义很容易被理解。 HTML 中的 标签定义表格 - 并且浏览器清楚如何显示它。 向 HTML 元素添加样式是很容易的。通过 CSS,很容易告知浏览器用特定的字体或颜色显示一个元素。 XSL = XML 样式表 XML 不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且每个标签的意义并不都那么容易被理解。 标签意味着...
阅读全文
posted @
2014-03-21 23:19
飞鸟快跑
阅读(671)
推荐(0) 编辑
接口类型作为返回类型
摘要:接口类型作为返回类型,返回的实际上是实现了这个接口的一个对象。这是典型的多态应用,方法应返回基类的引用public interface AAA { public AAA a();}public class BBB implements AAA { public AAA a(){ return new BBB()}; public b(){};}上边那个例子。有个AAA接口,里边有个方法 a,返回值是AAA接口类型。有个BBB方法实现了AAA接口,实现了了a方法,另外又有一个b方法,a方法里返回一个BBB实例。 问题是测试通过,但返回的BBB实例不能调用方法b,b方法是BBB的方法,怎么就不能调
阅读全文
posted @
2014-03-19 09:48
飞鸟快跑
阅读(1964)
推荐(0) 编辑
多态
摘要:封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了――代码重用。那么,多态的作用是什么呢?多态是为了实现另一个目的――接口重用!而且现实往往是,要有效重用代码很难,而真正最具有价值的重用是接口重用,因为“接口是公司最有价值的资源。设计接口比用一堆类来实现这个接口更费时间。而且接口需要耗费更昂贵的人力的时间。” 多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进...
阅读全文
posted @
2014-03-08 19:18
飞鸟快跑
阅读(281)
推荐(0) 编辑
JSON数据格式
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。JSON 语法是 JavaScript 对象表示法语法的子集。数据在名称/值对中:名称是字符串,使用双引号表示。值..
阅读全文
posted @
2014-03-08 18:48
飞鸟快跑
阅读(52091)
推荐(5) 编辑