
【C/S学习】
文章平均质量分 54
吴晓如
这个作者很懒,什么都没留下…
展开
-
里氏转换原则
问题由来:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在完成新功能P2的同时,有可能会导致原有功能P1发生故障。例子:两数相减的功能,由类A完成:class Program { static void Main(string[] args)原创 2015-12-28 19:12:14 · 1442 阅读 · 28 评论 -
VB与VB.net的区别
概述:VB.NET是基于微软.NET Framework之上的面向对象的编程语言。其在调试时是以解释型语言方式运作,而输出为EXE程序是是以编译型语言方式运作。可以看作是VB在.NetFramework平台上的升级版本,增强了对面向对象的支持。数据类型:原创 2016-01-28 21:27:07 · 4452 阅读 · 40 评论 -
DataGridView中的数据导出至Excel
一、添加引用 刚敲一行代码就出错了,提示是这样的: 后来找到了原因:我添加了两个引用 1、COM组件 2、程序集--扩展 然后我分别去掉了其中一个,发现都可以运行,那么我有一个疑问:这两个有什么区别那?暂时还没有明白,如果有哪位大神知道,请留言哦!二、代码 Pr原创 2016-03-01 18:56:40 · 877 阅读 · 19 评论 -
重载和重写的区别
引言: 设计模式已经学过一段时间了,今天师傅给验收问了几个问题,与其说是忘了,不如说当时就没有搞明白了,欠的总是要还的,慢慢补回来,先从重载和重写的区别开始,于是又回头看了看大话并查了查资料,这才明白是什么东东!重载(overload): 方法重载提供了创建同名的多个方法的能力,但这些方法需要使用不同的参数类型。例子:关于小猫有没有起好名字的讨论class Cat{原创 2016-02-14 14:06:38 · 816 阅读 · 24 评论 -
对三层的四个问题
1、what(什么是三层?) 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。 业务逻辑层(BLL):针对原创 2016-02-01 10:07:50 · 856 阅读 · 21 评论 -
三层登录实现
引言: 上篇博客说到三层的四个问题(what、why、when、how),how部分没有说,这篇博客以登录为例,用C#实现三层登录,了解它的运行过程以及代码详解。时序图: 下面这张图是通过vs生成的时序图,详细地讲述 登录的整个过程。 上面这张图有些繁琐,其实简单地说,就是UI层采集用户的用户名和密码,然后传递给B层,B层获取指令和数据后进行逻辑判断原创 2016-02-01 14:57:51 · 691 阅读 · 25 评论 -
存储过程
引言: 在机房重构中尝试了很多新鲜事物,以前只是听说或是理论上的一些知识,现在进行实践,跌跌撞撞中成长!定义: 在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。优点:A、 存储过程允许标准组件式编程 存储过程创原创 2016-03-15 21:01:58 · 719 阅读 · 27 评论 -
组合查询+模板方法模式
引言: 经过第一遍机房收费系统中组合查询的实现,我们都知道组合查询中的代码比较多,而且大部分都是重复的,再一次机房收费,我们需要不断改进,避免重复代码,这时我们想到了设计模式中的模板方法。介绍: 还记得刚开始小菜跟大鸟讲的故事--考题抄错也白搭,每个学生都要抄一遍提然后写答案,提抄错了,答案自然就错了,为了避免这种情况,想到了老师出一份试卷,打印多份,学生填写答案就o原创 2016-03-16 09:27:48 · 910 阅读 · 38 评论 -
上下机消费时间+职责链模式
介绍: 在大话中小菜和大鸟讨论加薪的问题--加薪非要老总批?这里设计到权限的问题,需要判断是否有权利进行处理,这就类似我们的下机消费时间,判断是否满足各个阶段时间。定义: 职责链模式(Chain of Responsiblity)使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为原创 2016-03-16 20:43:37 · 745 阅读 · 37 评论 -
问题集(一)之“未将对象引用设置到对象的实例”
前言: 这些天一直在敲七层的登录,刚开始是不理解七层是怎么回事,理解之后不明白登录怎么实现,这些都搞明白之后又被一个问题给困住了,查了两天,没什么进展,又和小伙伴一块调,终于找到了问题的缘由!错误:错误出现的地方: B层调用接口方法时:出错的原因: 我查了相关博客,发现很多都是由于实例时缺少new,我觉得我的问题不在这,在调的时候发现iuser是原创 2016-02-21 15:35:52 · 6756 阅读 · 36 评论 -
DataTable转泛型
引言: 刚开始敲机房的时候用的是DataTable返回数据,看博客的时候看大家都转泛型了,泛型是个是什么东东,为什么要用那?是什么: 泛型刚开始听到这个词的时候觉得很“高大上”,难于理解,那也得硬着头皮上对不对,查呗,,, 百度上是这么说的:泛型是具有占位符(类型参数)的类、结构、接口和方法,这些占位符是类、结构、接口和方法所存储或使用的一个或多个类型的占原创 2016-03-13 19:58:06 · 510 阅读 · 21 评论 -
List<T>和Ilist<T>的区别
引言: 上篇博客中写了datatable转泛型的问题,自己在查相关博客时发现有的写的是List,有的写的是IList,于是问题来了,他们有什么区别那?定义: List类:表示可通过索引访问的对象的强类型列表,提供用于对列表进行搜索、排序和操作的方法。IList接口:表示可按照索引单独访问的一组对象。区别: List是一个类,IList原创 2016-03-13 20:29:14 · 1517 阅读 · 31 评论 -
SVN初了解
当听到SVN这个陌生的词时会觉得很“高大上”,后来了解之后确实挺“高大上”,SVN的功能很强大,给我们带来很多便利!是什么: Subversion的简称 是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用原创 2016-03-27 19:37:04 · 825 阅读 · 48 评论 -
开放封闭原则和接口隔离原则
开放封闭:问题由来: 在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案: 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。定义: 一个软件实体如类、模块和函数应该对扩展开放,原创 2016-01-05 09:21:15 · 1082 阅读 · 19 评论 -
迪米特法则
引言: 自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。怎么样编程才能做到低耦合呢?那正是迪米特法则要去完成的。问题由来: 类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案: 尽量降低类与类之间的耦合。原创 2016-01-04 19:01:48 · 586 阅读 · 18 评论 -
依赖倒置原则
问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。例子:PC里如果C原创 2016-01-02 18:23:04 · 657 阅读 · 14 评论 -
单一职责原则
引言为什么要提倡遵循设计原则呢?答:为了代码复用,增加可维护性。一、单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T原创 2015-12-27 17:05:36 · 622 阅读 · 25 评论 -
C#中流程控制语句
1、引言 之前在写关于C#中跳转语句时接触到一个对于我来说熟悉而陌生的“流程控制语句”,当时根本没有意识到跳转语句就是其中的一种,便查了查,令我豁然开朗,原来是这样的。。。2、定义原创 2015-12-06 11:26:54 · 749 阅读 · 16 评论 -
VB和C#中循环语句
引言:学习了C#的循环语句,让我觉得有点吃力,其实从原理上讲这些是学过的,只是没有对比着来,现在把他们放在一起,发现其实真的是一样的,这样学习起来就容易了很多,给自己减少了很多压力。 (1)VB中for...next 与 C#中的for VB:For 循环变量=初值 to 终值 [step 步长] 循环体Next 循环变量例:求1原创 2015-11-29 18:46:14 · 2773 阅读 · 84 评论 -
C#中变量命名规则
每学习一门新的编程语言,开始都会讲变量的命名规则,现在刚接触C#,还是会感觉很亲切,我们之前学过VB,对比着来,就会发现里面有好多东西都是雷同的,下面先讲述一下C#和VB中变量命名规则有什么相似和不同的地方。VB:VB变量的命名规则 (1)变量的名必须是字母或文字开头,而不能使用数字或其他字符开头 (2)变量名不能含有小数点、空格 (3原创 2015-11-22 17:14:48 · 19027 阅读 · 35 评论 -
UML的九种图
刚刚看完UML视频,越是到后面,看的越迷糊,于是翻了翻从图书馆借的《软件工程》,里面有关于UML的内容,结合书上的内容和笔记总结了一下内容:UML的九种图【用例图】(Use Case Diagram)用例是系统的一个功能单元,用户对系统的需求以用例的方式描述。 用例图组成: 【类图】(Class Diagram)描述了系统中涉及的所有类以及类之间的关系。原创 2015-09-20 20:39:37 · 1012 阅读 · 57 评论 -
UML之用例图
引言:上篇博客大概总结了一下UML的九种图,到现在差不多也有一个月的时间了,之后每个图实践了一遍,又有一些的新的感触,所以再分别来详细介绍介绍!概述:用例参与者系统关系原创 2015-10-25 10:20:14 · 1597 阅读 · 33 评论 -
UML概述
UML( Unified Modeling Language ) 统一建模语言 UML的特点: 1、统一标准 2、面向对象 3、图形建模 4、独立于程序设计语言 UML的构成: 1、视图 2、图 3、模型元素 4、公共机制原创 2015-09-13 20:02:12 · 971 阅读 · 36 评论 -
数据库设计之概念、逻辑、物理模型
在写文档的数据库设计说明书时,其中有结构设计,就是概念模型、逻辑模型、物理模型。关于这三个模型没有什么概念,只记得在数据库这本书上见过,然后经过查阅之后得出这样的结论:原创 2015-09-06 20:48:48 · 12649 阅读 · 38 评论 -
软件工程---面向对象
面向对象的概念面向对象=对象+类+继承+通信如果一个软件系统是使用这样4个概念设计和实现的,则我们认为这个软件系统是面向对象的对象是面向对象开发模式的基本成分; 每个对象可用它本身的一组属性和它可以执行的一组操作来定义; 属性一般只能通过执行对象的操作来改变 操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用类 类是一组具有相原创 2015-08-22 17:58:28 · 1293 阅读 · 39 评论 -
软件工程基础知识---软件维护
软件维护的概念:在软件运行、维护阶段对软件产品进行的修改就是所谓的维护类型:1、改正性维护(占维护量20%)目的是改正在开发周期间未能发现的遗留错误,并加以改正2、适应性维护指软件适应运行环境的改变而进行的一类维护,包括:因硬件或支持软件改变引起的变化;将软件移植到新机器上;软件使用对象的较少改变。3、完善性维护(50%)提高软件性能和软件可维护性而对软件修改的过程原创 2015-08-22 15:58:51 · 1599 阅读 · 32 评论 -
软件工程基础知识----软件概述
最近学习了软件工程,刚刚接触这部分知识,了解得的不是很深,那就从简单的基本知识入手,不断积累、总结。 通过图上几点来简单了解一下软件:软件:计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发.维护和使用相关的图原创 2015-08-20 14:40:40 · 1449 阅读 · 32 评论 -
C#中的跳转语句
跳转语句的作用:跳转语句用于改变程序的执行流程,转移到指定之处。分类:在C#中跳转语句主要有四种:Break、Continue、Goto、Return。一、BreakBreak语句终止当前的循环或者它所在的条件语句。然后,控制被传递到循环或条件语句的嵌入语句后面的代码行。Break语句的语法极为简单,它没有括号和参数,只要将以下语句放到你希望跳出循环或条件语句的地方即可:原创 2015-12-05 19:48:27 · 5459 阅读 · 16 评论 -
机房合作总结
引言: 机房现在已经是第三遍了,每一遍都有不同的收获,第一遍机房是自己尝试开始敲代码,一个很大的突破,开启了编程之路,机房重构是用vs进行的,这一遍尝试了很多新的东西,加入了设计模式,在数据库中尝试用视图,存储过程,事务,接触到泛型。现在是机房合作,第一次尝试几个人合作,共同完成一个项目,开始之前老师强调了几点:文档驱动,前期可以尽情交流,之后尽可能少交流,要有完整UML图,学会原创 2016-05-22 22:28:41 · 625 阅读 · 30 评论