分类:Web编程
共 939 篇
摘要:介绍了抽象工厂模式的基本概念,并给出了c#语言编写的程序示例 抽象工厂模式向客户端提供一个接口,使得客户端在不必指定具体类型的情况下,创建多个产品族中的对象。本文采取的仍然是接着以前的那个快餐店的例子。 现在,快餐店经常良好,逐渐发展壮大,为了适合不同地方人的饮食习惯,创建了两大系列(相当于产品族)快餐,北方系列和南方系列。每个系列分别由一个大厨掌勺。 抽象工厂模式对新的产品族支持开闭原则,但对新的产品不支持开闭原则。例如增加新的产品族,如增加美国系列快餐(相当于增加了一个产品族),则只要从每个产品接口继承一个相应美国系列产品即可,不需要更改已有的代码。但如果增加新产品,比如增加了“馒头”这个产品,则它是不支持开闭原则的,因为你要在厨师接口中,增加返回“馒头”的方法,这就要修改已存在的接口,而修改了上层接口,继承此接口的具体类也要随之改变。…
📂 Web编程
👤 博主
📅 2007-12-12
👁 3575
👍 0
阅读全文 →
1. 引言 在我之前的一篇post《抽象类和接口的谁是谁非》中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉。同时,我将把上贴中的问题顺便也在此做以交代。 2. 概念引入 ●什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。但是注意:C#中不能包含任何静态成员。一个类可以实现多个接口,当一个类继承某个接口时,它不仅要实现该接口定义的所有方法,还要实现该接口从其他接口中继承的所有方法。…
📂 Web编程
👤 博主
📅 2007-12-12
👁 3673
👍 0
阅读全文 →
使用Excel作数据库进行查询并显示字段值时老是提示错误: 数值字段溢出!最终在Microsoft网站上查得知是由于一些字段中的数据类型不一致造成的。才想起来Excel中原有的身份证字段是文本类型,后来手工添加的几条记录都被自动转成了数值型,统一成文本后问题随之解决。 Microsoft详细说明:http://support.microsoft.com/kb/815277/zh-cn
📂 Web编程
👤 博主
📅 2007-12-05
👁 7621
👍 0
阅读全文 →
Web.config: 在 .NET Framework 2.0中,ConfigurationManager类提供了两个属性专门用来获取配置文件AppSettings和ConnectionStrings节的数据,使用方法如下:
📂 Web编程
👤 博主
📅 2007-12-05
👁 5004
👍 0
阅读全文 →
同一个函数,根据不同的参数执行不同的操作叫函数重载; 相同的参数,在不同场合可调用不同的函数来操作叫委托; 同一个函数,既可对int数组求最大值,也可对double数组求最大值,这是重载; 同一个int数组,既可对它们求最大值,也可对他们求最小值,这是委托; 函数重载: 函数委托:
📂 Web编程
👤 博主
📅 2007-12-02
👁 5418
👍 0
阅读全文 →
在调用C#的函数时,必须匹配函数的签名,但在有些场合中我们需要让同一个函数能操作不同的变量,这就要使用重载函数这一技术。函数重载允许创建同名的多个函数,这些函数可使用不同的参数类型,在调用函数时会根据使用的参数类型执行相应的函数: 1.ASP和JS的函数重载 ASP中没有函数重载,因为ASP根本不允许同名函数的存在,即使他们的参数不同。由于JS的函数在被调用时并不会去检验参数的个数是否和定义时指定的一样,这就便于让我们实现和C#类似的重载,加之JS是一种无类型的语言,所以在"重载"个人觉得比C#更出色。
📂 Web编程
👤 博主
📅 2007-12-01
👁 4034
👍 0
阅读全文 →
1.C#和JS对反斜杠的使用限制不同 在C#和JS中,反斜杠("\")都是作为转义序列的一部分。在JS中任何场合下都可以使用反斜杠,当它和背后的一个字符组合是一个转义序列时,就进行转义,否则,JS会忽略掉它,如下所示: 但在C#中,除了在使用转义序列(\'、\"、\\、\0、\a、\b、\f、\n、\r、\t、\v)的场合下其他地方不得再用反斜杠(除了使用逐字指定字符串),如下代码: 2.反斜杠在表示系统路径上的应用 因为反斜杠的特殊用途,所以用要表示系统路径都得用转义序列\\: 不过C#中还有另外一种表示法,使用逐字指定字符串,代码如下:
📂 Web编程
👤 博主
📅 2007-12-01
👁 5666
👍 0
阅读全文 →
1.性能上的比较 如果&&的第一个运算数是false,就不再考虑第二个运算数,直接返回false;如果||的第一个运算数是true,也不再考虑第二个运算数,直接返回true。&和|运算符却不是这样的,它们总是要比较两个运算数才得出结果,因而性能上&&和||会比&和|好。 由于&&和||可能不考虑第二个运算数,所以我们应尽量避免在它们右边使用具有副作用(赋值、递增、递减和函数调用)的表达式,除非非常清楚自己再做什么。 2.逐位运算 &和|除了可以进行"逻辑运算"外,还可以进行逐位运算,而&&和||只能进行逻辑运算。 3.JS的&和|与C#的&和| 在JS中,&和|只是逐位运算符,而在C#中,&和|既是逻辑运算符,又是位运算,通过以下代码可以看出。…
📂 Web编程
👤 博主
📅 2007-12-01
👁 4260
👍 0
阅读全文 →
一、修改解决方案sln文件的路径 方法一:工具→选项→项目和解决方案,可设置项目的默认保存位置。 方法二:"解决方案资源管理器"中选择"解决方案"节点,此时在VS文件菜单中会出现"*.sln 另存为..." 二、给站点添加配置文件web.config 在VS2005中新建网站默认不会生成站点配置文件,得通过手工添加:在项目上添加新项,选择"Web 配置文件"即可! 三、项目加载失败 提示一:无法打开网站"http://localhost/xxx"。网站"http://localhost/xxx"不存在。(网站位置:HTTP) 提示二:项目文件或网站已移动或已重命名,或者不在您的计算机上。(网站位置:文件系统)…
📂 Web编程
👤 博主
📅 2007-11-29
👁 5804
👍 0
阅读全文 →
一通我们都是通过设置web.config的来配置整个站点页面的输出编码,而的有时候,我们需要单独对某个页面设置不同于整站的输出编码,方法很简单,在Page_Load()事件中加入以下语句即可:
📂 Web编程
👤 博主
📅 2007-11-29
👁 5055
👍 0
阅读全文 →