摘要:1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。 这就是“一张原始单证对应多个实体”的典型例子。 2. 主键与外键 一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实... 阅读全文
.net 构造器
2012-03-11 00:42 by 假面Wilson, 752 阅读, 0 推荐, 收藏,
摘要:构造器是为了创建一个类的实例。这个过程也可以在创建一个对象的时候用到:Platypus p1 = new Platypus(); 构造器可以用来在初始化对象时初始化数据成员,一个类可以有多个构造器。一个类的构造器的名称必须与该类的名称一致。要退出构造,可以使用返回语句“return;”。相反,方法的作用是为了执行java代码。 构造器和方法在下面三个方面的区别:修饰符,返回值,命名。和方法一样,构造器可以有任何访问的修饰: public, protected, private或者没有修饰(通常被package 和 friendly调用). 不同于方法的是,构造器不能有以下非访问性质的修饰:.. 阅读全文
命令式循环控制与声明式查询表达式(转)
2012-03-11 00:26 by 假面Wilson, 419 阅读, 0 推荐, 收藏,
摘要:转自:http://www.cnblogs.com/yangecnu/archive/2012/03/10/2389603.html For,do… while,while ,foreach是大多数编程语言中常用的循环控制语句,在C#中查询表达式也能实现同样的效果。 查询表达式使得编程风格从”命令式”变得更加的”声明式”。查询表达式定义想要的结果以及要达到该结果需要执行的方法,而不是具体的如何实现。这里重点是查询表达式,通过扩展方法,查询表达式使得能够比命令式循环构造更能够清楚的表达意图。 下面的语句显示了一个命令式风格的填充一个数组并打印到控制台上:int[] foo = new int[. 阅读全文
C#泛型
2012-03-11 00:21 by 假面Wilson, 436 阅读, 0 推荐, 收藏,
摘要:泛型是c#2.0的一个新增加的特性,它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设,所以泛型提高了程序的类型安全。它允许程序员将一个实际的数据类型的规约延迟至泛型的实例被创建时才确定。泛型为开发者提供了一种高性能的编程方式,能够提高代码的重用性,并允许开发者编写非常优雅的解决方案。 泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。泛型类和泛型方法同时具备... 阅读全文
IEnumerable和IEnumerable<T>接口
2012-03-10 23:45 by 假面Wilson, 547 阅读, 0 推荐, 收藏,
摘要:IEnumerable和IEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单的迭代,IEnumerable和IEnumerable<T>接口是.NET Framework中最基本的集合访问器,这两个接口对于LINQ的理解是非常重要的。在面向对象的开发过程中,常常需要创建若干对象,并进行对象的操作和查询,在创建对象前,首先需要声明一个类为对象提供描述,示例代码如下所示。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;//使 阅读全文
C#的自定义事件
2012-03-08 17:22 by 假面Wilson, 352 阅读, 0 推荐, 收藏,
摘要:创建一个事件驱动的程序需要下面的步骤: 1. 声明关于事件的委托; 2. 声明事件; 3. 编写触发事件的函数; 4. 创建事件处理程序; 5. 注册事件处理程序; 6. 在适当的条件下触发事件。现在我们来编写一个自定义事件的程序。主人养了一条忠实的看门狗,晚上主人睡觉的时候,狗负责看守房子。一旦有小偷进来,狗就发出一个Alarm事件,主人接到Alarm事件后就会采取相应的行动。//事件发送者classDog{//1.声明关于事件的委托;publicdelegatevoidAlarmEventHandler(objectsender,EventArgse);//2.声明事件;publiceve 阅读全文
String.Format和StringBuilder的效率
2012-03-08 14:48 by 假面Wilson, 694 阅读, 0 推荐, 收藏,
摘要:到底String.Format还是StringBuilder效率更高一点?至于这个问题,直接叫他用强大的武器Reflector了解一下String.Format的方法.结果他很快就找出相关的代码: publicstaticstringFormat(IFormatProviderprovider,stringformat,paramsobject[]args){if((format==null)||(args==null)){thrownewArgumentNullException((format==null)?"format":"args");}Str 阅读全文
在VS2008中计算代码度量值
2012-03-08 11:43 by 假面Wilson, 301 阅读, 0 推荐, 收藏,
摘要:从VS2008开始,有一个新的工具可以帮助开发人员更好地了解自己编写的代码。这个工具就是“计算代码度量值” 关于该功能及几个指标的具体介绍,请参考下面的官方文档 代码度量是一组软件度量值,使开发人员可以更好地了解他们正在开发的代码。利用代码度量,开发人员可以了解哪些类型和/或方法应该返工或进行更彻底的测试。开发团队可以识别潜在的风险、了解项目的当前状态,并跟踪软件开发的进度。 软件度量值 下面的列表显示了 Visual Studio 计算的代码度量结果: 可维护性指数 – 计算一个介于 0 和 100 之间的指数值,表示维护代码的相对容易度。值越大表示可维护性越好... 阅读全文
UML小结以及基于领域模型的系统设计初步
2012-03-06 12:12 by 假面Wilson, 399 阅读, 0 推荐, 收藏,
摘要:UMLUML不是OOA/D 也不是方法,它仅仅是一种图形表示法。其目的就是让人能看懂你的东西。每一种图,都相当于一种角度。不同的图就是从不同角度来观察系统。比如交通图和行政区划图,从不同角度观察中国。必要性是画图的原则,虽然有这种关系,但不一定要画出来,如果非要画出来,则应考虑不要影响图形的美观。活动图活动图表示的是一种流程。例子:顺序图顺序图的目的是为对象分配职责,而不是步骤的罗列。上图中,ActionServlet是没有必要画出来的,它是一个很稳定,也不是我们自己提供的,没有必要来说明它的对象职责。插在这里显然多余.如下图这样就可以了:用例和用例图用例的定义:文本形式的情节描述。用例用于需 阅读全文
UML建模-------包
2012-03-06 11:59 by 假面Wilson, 469 阅读, 0 推荐, 收藏,
摘要:什么是包包可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。•在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。•包的作用是:1)对语义上相关的元素进行分组;2)定义模型中的“语义边界”;3)提供配置管理单元;4)在设计时,提供并行工作的单元;5)提供封装的命名空间,其中所有名称必须惟一在VS2010中,就用文件夹直接代表包在EA中可以想下面这样新建包•名称:每个包都 阅读全文
浙公网安备 33010602011771号