- 博客(21)
- 收藏
- 关注
转载 面向对象的5条基本设计原则
这几天重新看了一遍《大话设计模式》,发现果然有不同的感悟,而且自己也上网找了《敏捷软件开发—原则、模式与实践》一书来看,那本书的序言中有一段话我觉得很有道理:“美的东西比丑的东西创建起来更廉价,也更快捷。”设计一个软件不关要追求代码的优雅问题,更关乎生产成本等。技术大师们在对软件架构的研究中经历了很长时间的摸索,从面向过程到面向对象,从设计原则到设计模式,总结了许多设计上的经典法则,而我们就只是站
2013-04-10 15:19:29
398
转载 软件开发模式对比(瀑布、迭代、螺旋、敏捷)
1、瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。 瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变
2013-04-10 15:18:49
403
转载 C#中A a=new B()的意义
A a=new B()的意义前提:A是B的父类。A a = new B();或A a;B b=new B();a=b;这一句的过程是这样的,1)创建一个类A的引用a2)创建一个类B的实例3)把类B的引用赋值给a因为A是B的父类,所以,赋值成功。过程:当消息发送到子类并要求以确定的参数调用其中一个方法时:消息的处理如下沿着类链自下而上逐级查
2013-03-20 16:26:23
641
转载 C#中的interface和abstract class之间的区别
a. interface中不能有字段,abstract class则可以;b. interface可以被多重继承(即可以被多个具体类实现),abstract class则不可以;c. interface中不可能有任何成员方法被实现,abstract class则可以。事实上,一个类中只要有一个成员方法是 abstract的,那么这个类就一定是abstract class,abstr
2013-03-07 17:25:23
610
转载 sql执行顺序
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。如果没有在查询中指定
2013-03-06 14:57:21
364
转载 sql中的group by 和 having 用法解析
--sql中的group by 用法解析:-- Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。--它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。--注意:group by 是先排序后分组;--举例子说明:如果要用到group by 一般用到的就是“每这个字” 例如说明现在有一个这样的表:
2013-03-06 14:00:17
358
转载 C#数组
数组概述C# 数组从零开始建立索引,即数组索引从零开始。C#中数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。声明数组时,方括号 ([])必须跟在类型后面,而不是标识符后面。在 C#中,将方括号放在标识符后是不合法的语法。int[] table; // not int table[]; 另一细节是,数组的大小不是其类型的一部分,而在 C
2013-02-22 16:27:18
201
转载 C#中的委托和事件(续)
引言如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。为什么要使用事件而不是委托变量?在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,
2013-01-07 14:00:09
175
转载 C# 中的委托和事件
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对
2013-01-07 13:58:54
189
转载 C#学习之接口
什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。 声明接口 声明接口在语法上和声明抽象类完全相同,例如这里有一个银行账
2012-12-11 14:15:18
200
转载 虚方法(virtual)和抽象方法(abstract)的区别
虚方法和抽象方法都可以供派生类重写,它们之间有什么区别呢?1. 虚方法必须有实现部分,抽象方法没有提供实现部分,抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化。如://抽象方法public abstract class Animal{ public abstract void Sleep(); public abstract void
2012-12-11 14:13:09
215
转载 使用T4为数据库自动生成实体类
T4 (Text Template Transformation Toolkit)是一个基于模板的代码生成器。使用T4你可以通过写一些ASP.NET-like模板,来生成C#, T-SQL, XML等代码。下载示例代码 一 “Hello World”代码生成器1 创建一个C# Console工程,添加一个名为“HelloWorld.tt”的文本文件。
2012-10-31 19:43:53
766
转载 在EF下使用基于T4模版的POCO实体生成器
在Entity Framework 4.0提供了对POCO(简单传统CLR对象/Plain Old CLR Object)支持,这样让我们专注于业务逻辑和更有效的进行单元测试.并且POCO不需像默认EF实体一样要继承才能实现,所以可以更灵活的切换.本文将介绍如何自动生成POCO并替换EF生成的实体.实现两者的分离,独立于EF存在.下载安装POCO实体生成器本文使用的是Microsoft
2012-10-31 11:37:07
639
原创 sql单表查询基础总结
1.查询子句处理顺序from→where→group by→having→select(over,distinct,top)→order by2.t-sql的三值谓词逻辑t-sql使用三值谓词逻辑,结果可以为true,false或者unknown(不知道)3.group by(分组)如果查询涉及到分组,那么group by阶段之后的所有阶段(包括having,select,
2012-10-22 22:52:01
449
转载 基于.NET的WebService的实现
这个专题主要讲述的是webservice,因此这里我们的代码以Webservice相关为主,而其他工程,例如:ServiceGatherSite,WebSiteA等,只将简略介绍. 在VS2003中,开发一个webservice并不是件困难的事,首先,我们新建一个webservice项目(文件->新建->项目->C#->Web服务应用程序) 建完这个工程,我们将看到
2012-10-18 15:28:01
311
转载 .Net 中webService发布与调用
步骤:(学习工具:.net2005)1.先打开C#,新建->网站->(选中)ASP.net Web服务->确定,OK,现在以新建了一个webService,里面会自动有一些代码,就它的"Hello World"吧,简单的测试就行了。2.F5测试,会打开一个网页,显示是OK的。然后点生成->发布网站->设置好路径->确定,OK,现在在你设置的路径下会有一个asmx,DLL文件。
2012-10-18 15:06:52
438
原创 委托和事件
委托和事件主要用于异步调用。事件调用委托,委托调用方法。委托和事件的区别:1.委托和事件没有可比性。因为委托是类型,事件是属性(对象)。2.标准的event方法实现事件。只能用“+=”注册自己,“-=”注销自己,外界不能有其他操作。但如果用Delegate就没办法控制,外界可以主动触发事件,也可以为null。3.事件是用来阉割委托实例的。委托的应用:1.委托实现事件
2012-10-10 09:34:14
270
原创 virtual、abstract和interface
virtual标记为virtual的方法,可以有自己的实现,可以在子类中用override重写。abstract标记为abstract的方法,不能有自己的实现,必须在子类中用override重写。类里有abstract,类也必须是abstract。抽象类中不必都是抽象成员。interface接口是没有任何方法的抽象类可以有属性,方法,索引器,不能有字段,不能有实现。
2012-10-10 09:23:49
170
原创 out和ref
引用参数ref使用规则:使用引用参数时,必须在方法声明和调用中都是用ref修饰符。实参必须是变量,在用作实参前必须被赋值。如果是引用类型的变量,可以赋值为一个引用或null。 值参数和引用参数的区别:对于值参数,系统在栈上为形参分配内存,就像是复制了一份,所以对于值类型的参数不会改变值。引用参数相当于给变量重新起名字,但是他们指向的是相同的内存位置,是同一个值,所以值会
2012-10-09 23:31:37
237
原创 readonly和const
readonly作用类似于声明一个字段为const,一旦值被设定就不能改变。 1.const字段只能在字段的声明语句中初始化,不能在声明后给它赋值。而readonly字段可以在字段声明语句中赋值,也可以在类的任何构造函数中赋值(如果是static字段,必须在static构造函数中完成初始化)。 2.const没有自己的存储位置,而是在编译时被编译器替换(const成员表现很像一
2012-10-09 23:00:43
267
转载 ASP.NET 页生命周期概述
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要,这样就能在合适的生命周期阶段编写代码,以达到预期效果。此外,如果开发自定义控件,则必须熟悉页生命周期,从而正确地初始化控件,使用视图状态数据填充控件属性以及运行所有控件行为逻辑。(控件的生命周期基于页的生命周
2012-08-29 11:34:55
191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人