- 博客(158)
- 资源 (4)
- 收藏
- 关注
原创 三层架构理论篇
对于三层架构的理论阐述,我将从三个大的方面去讨论:what、why和how,说白了也就是以三层架构为中心,去了解什么是三层,为什么用三层以及怎么用三层这个三个问题。OK,废话不多说,进入正题。 什么是三层架构?(What) 通常多层结构的划分方式有两种:分别是物理和逻辑。物理上的三层结构是指将整个应用系统分为显示层、业务层和数据层,并且这三个层面上的实体都是
2014-06-05 20:56:29 2150 18
原创 使用ADO.NET对SQL Server数据库进行访问
在上一篇博客中我们给大家简单介绍了一下VB.NET语言的一些情况,至于理论知识的学习我们可以利用VB的知识体系为基础,再将面向对象程序设计语言的知识进行融合便可进行编程实战。 如果我们需要访问一个企业关系数据库(比如SQL Server或者Oracle),并且需要包含由复杂关系构成的表中的数据,如何去实现?我们可以利用ADO.NET内置功能提取并操作数据,就想插入、更新和删除S
2014-06-01 20:05:58 8436 13
原创 当VB遇上C++
最近在学习VB.NET 这块的东西,自然而然就会想到VB.NET与VB6是什么关系? 宏观上来讲就是从基于对象变成了完全的面向对象,因此不能简单的说VB.NET是VB6.0的升级版本。在学习VB.NET之前,已经接触过C++和VB,所以在学习VB.NET的时候总能看到他们的影子,那种似曾相识的感觉让我不得不仰天长叹:这VB.NET简直就是混搭版本的程序设计语言啊!
2014-05-30 16:59:06 2277 14
原创 谁是面向对象设计中的霸主?(下)
上回我们说到结构型模式组的战况,接下来我们去看看行为型模式组会有什么好戏上演。所谓行为型模式,顾名思义就是侧重于描述对象之间行为的设计模式。 行为型模式有以下11种: 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 模板方法模式:定义一个操作的算法骨架,而将一些步骤延迟
2014-05-26 09:45:48 1369 17
原创 谁是面向对象设计中的霸主?(中)
在上篇博文中,我们一起了解了创建型模式组的战况,下面我们来看看号称“死亡之组”的结构型模式的战况。所谓结构型模式,就是针对系统的结构进行设计,重点考虑产品的层次结构等问题。 下面我们一起来了解一下本组各个门派的资料: 适配器模式:讲一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
2014-05-22 16:13:31 1455 12
原创 谁是面向对象设计中的霸主?(上)
在面向对象的世界里,设计模式从来就没有最好最强的,各个模式从来就谁也不服谁,彼此明争暗斗,未曾善罢甘休。今天,连同简单工厂模式在内的24个设计模式齐聚中原,霎时间,乌云密布,杀气冲天,面向对象的世界里要迎来一场浩劫,血雨腥风,在所难免 在资格赛中,来自工厂家族的简单工厂模式首先被灭掉了,其致命的失误在于简单工厂模式根本不符合开放—封闭原则,因此惨遭灭门也是不足为怪的。然而让人欣
2014-05-17 10:25:42 1733 13
原创 设计模式之六大设计原则
在上篇博文中提到了开放—封闭原则,没有细谈,这次我们来总结一下设计模式的几大原则。 1开放—封闭原则:是指软件实体(类、模块、函数等)应该可以扩展,但是不可修改。 对原则的理解:开闭原则是最具有理想主义色彩的一个原则,它是面向对象设计的终极目标,下面所要介绍的几个原则可以看成是为了符合开闭原则所作的努力和解决办法。对于开闭原则通俗的理解就是,能不改就不改,能
2014-05-12 20:15:00 1452 13
原创 群“模”乱舞之策略模式
在上篇博客中我们提到了简单工厂模式,然而在GoF总结的23个设计模式中并没有她的影子,严格意义上来讲,简单工厂模式并不是一种设计模式,因为她根本不符合设计模式的开放—封闭原则,即软件实体如类、模块等应该可以扩展,但是不可修改。对于设计模式的设计原则,将在下一篇博文中介绍,这里我们先来看一个例子: 周所周知,超市收银系统都具有计费功能,那么要你做一个能够根据输入的商品单价和数量,
2014-05-07 21:00:48 1613 14
原创 群“模”乱舞之简单工厂模式
感受设计演变过程中所蕴含的大智慧,体会乐与怒的程序人生中值得回味的一幕幕。——《大话设计模式》 能把计算机编程类的书写成小说一样的效果,是这本书的最大亮点,也是我最为敬佩的地方。拿到书之后,爱不释手,用了23个番茄将书完整的通读了一遍,在读书的过程中时而凝眉沉思,不得其解,时而拍腿称快,大呼妙哉!虽然很多的地方还是不太明白,但是思维已经随着问题在程序世界里徘徊。
2014-05-05 17:29:02 1650 15
原创 面向对象基础之抽象类与接口 下
在上篇博文中我们一起了解了抽象类,那么什么是接口呢?下面给大家简单介绍一下: 所谓接口,就是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。一旦类实现了接口,类就可以支持接口所指定的所有属性和成员。声明接口在语法上与声明抽象类完全相同,但不允许提供接口中任何成员的执行方式,因此接口不能实例化,不能有构造方法和字段,不能有修饰符,如public等。在实现接口的类中必须实现接
2014-05-01 10:04:13 1453 13
原创 面向对象基础之抽象类与接口 上
在两年前学习C++的时候,知道抽象类这么一个概念,当时并不是很理解,如今在学习C#和设计模式的时候,再一次碰到了这个含糊不清的东西,同时又在C#中学习到了接口技术,接口也早有耳闻,但是当时理解的接口就是一个或者一组能够操作类中数据的函数或者方法。虽然老师举过很多例子,比如电视机这个事物,它对外的接口就是遥控器,遥控器里好多的按钮,按钮的下面就是各种各样的命令或者称之为方法。 当
2014-04-29 11:13:11 1696 11
原创 面向对象编程之C#
曾经从一个计专的同学口中听说过C#,后来一个好朋友在大学毕业之前参加了.net培训班,和她交流的时候,得知她也学的是C#,而且用C#写过经典游戏—坦克大战,当时只是知道有一种编程语言叫做C#。 如今在要学习设计模式的时候,需要C#的基础知识,于是乎我们要在10天左右的时间内突击学习C#语言,为我们学习设计模式打下基础。既然了解C#的机会来了,那么我们就一起去看看C#到底是一什么
2014-04-27 22:25:52 1769 10
原创 自考之路 中
这是第二次参加自学考试,第一次是在13年的10月份,当时由于第一次亲历自考,难免会有些新鲜的感觉,也会有一点初生牛犊不怕虎的激情,于是第一次就报了三科,从结果来看能说的过去,但从过程来看,简直就是一塌糊涂,直到现在第一次考过的三科中,还有两本书没有完整的读过一遍,当时觉得《数据库系统原理》最难,所以就认真的通读了一遍书,而且做了几套题,其他的两科就没有这么好的待遇了,尤其是《信息系统开发与管理》,
2014-04-20 22:21:03 1773 25
原创 操作系统之PV操作
大家在学习操作系统的时候,肯定会被各种调度算法搞得焦头烂额,什么处理器调度,什么磁盘引臂调度算法,什么页面置换算法等等,但是我从一开始接触操作系统时,对这些调度算法并不感冒,反而对PV操作比较欠缺,也许是没有好好听课,又或许是没好好看书,总之再一次遭遇PV操作,我觉得不能就这么算了,得给它点color see see! 首先要搞清楚的问题是:什么是信号量?什么是PV操作?
2014-04-13 22:11:50 2758 21
原创 UML实战之Component Diagrams与Deployment Diagrams
在UML中大部分模型描述了逻辑和设计方面的信息,而实现图则是用来描述系统实现方面的信息。它从系统的层次来描述硬件的组成和布局以及软件系统的划分和功能实现。概念定义: 实现图包括构件图(用来显示一组构件之间的组织与依赖关系)和部署图(用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件),这一次我们就来了解一下UML建模中的实现图,首先我们来看这两种图的定义:
2014-04-06 21:33:22 2199 9
原创 UML实战之Statechart Diagrams
同样,状态图也是行为图中的一种,它是用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。 相对于活动图来讲,状态图的图符就少了一些,主要有:状态、转移、起点和终点。 说到状态图就不得不说一说状态机,状态机又是什么呢?所谓的状态机是这样一种行为,它描述了一个对象或者一个交互在生命期内响应事件所经历的状态序列。单个类或者是一组类之间协
2014-03-30 22:06:28 1887 9
原创 UML实战之Activity Diagrams
何谓活动图?活动图是行为图中的一种,而行为图是用来描述系统的动态模型和对象之间的交互关系,包括:状态图、活动图以及上次介绍的交互图,这一次就带大家一起了解一下行为图中的活动图。 首先我们得知道活动图的定义: 活动图(ActivityDiagrams):用来描述满足用例要求所要进行的活动以及活动间的约束关系,使活动图有利于识别系统的并行活动。
2014-03-23 16:09:58 2538 12
原创 UML实战之Sequence Diagrams和Collaboration Diagrams
与以往不同的是,这一次的标题包含两种图的名称,为什么把这两种图放在一起总结和实践呢?因为他们之间有相似的地方或者说有联系,那么这两种图是用来干嘛的呢?下面我们再次走进UML世界,去了解一下这两种图是什么。 周所周知,在对待开发系统进行UML建模的时候,系统的用例图和类图以及对象图是对系统静态结构的描述,如果要描述系统的动态模型和对象之间的交互关系,就要用到UML的行为图,而行为
2014-03-16 21:10:06 5296 26
原创 UML实战之Class Diagram
既然要画类图,那么就要先弄清楚一个很重要的概念:类。什么是类?在面向过程的结构化程序设计中,程序模块是由函数构成,函数将对数据处理的语句放在函数体内,完成特定的功能,数据则通过函数参数传递进入函数体。而在面向对象的程序设计中,程序模块是由类构成的。类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述。在面向对象的思想中,认为世界是由对象组成的,或者说世界就是一个对象的集合,宇宙万物
2014-03-09 18:18:48 3386 31
原创 UML实战之Use Case Diagrams
在实战之前我们先得搞清楚一个很重要的问题:何谓用例图?它有何用? 首先我们来解决什么是用例图的问题,所谓用例图是用来描述用户的需求,从用户的角度描述系统的功能,并指出功能的执行者,强调谁在使用系统,系统为执行者完成了哪些功能。 在软件工程中的需求分析阶段通常需要使用UML的用例图来对目标系统进行建模,通过可视化的用例模型,对将要开发的系统有一个看得见的描述,从而使
2014-02-28 21:14:41 2721 27
原创 UML之情有独钟
自从与UML相识之后,越来越觉得她是那么的美好,是那么的单纯,简单和高效,这让我寝食难安,想要更多地去了解她,认识她,并且掌握她。那么就让我们走进她的心里,去看看她是怎样看待和描述这个多姿多彩的世界的。 众所周知,UML是一种可视化的面向对象建模语言,既然是作为一种语言,那么它应该有自己的最基本的“单词”和“语法”,下面我们就来了解这些基本元素。 UML的基本元素主要是3种构造
2014-02-17 15:55:09 1854 25
原创 UML之一见钟情
如果你没接触过UML,那么你肯定不知道UML这三个字母是什么含义.不过不要紧,今天我就介绍给你认识,相信经过你的深入了解,你会爱上她.老师说,这是一门及其重要的学科,是我们从业余步入职业队伍的一个转折点,也是软件设计和开发的一个强大的工具. 那么什么是UML呢?简单来说:UML(Unified Modeling Language)统一建模语言是用来设计软件蓝图的可视化建模语言.它
2014-02-15 15:11:30 2662 28
原创 PDM实例之机房收费系统
PDM(Physical DataModel)即物理数据模型,它详细说明了数据库的物理实现,在这里我们将具体考虑物理实现的细节,包括数据的存储结构,可以通过修改PDM来适应性能/物理上的约束。 PDM的主要作用是: 1以图形的方式描绘出数据的物理组织结构, 2进行数据库的创建和修改; 3定义参照完整性; 4生成扩展属性; 5可以通过逆向工程重新产生CDM。
2014-02-09 21:24:32 2091 27
原创 再见!2013!
虽然2013早已远去,但是对她的记忆,依旧清晰。蓦然回首,竟然也会被自己感动,但也有很多遗憾。过去的一年,没在一起的朋友可能会觉得我特别忙,甚至自己的同学和室友只能在上课的时候见到我,其他的时间我都待在机房。2013,是我考试比较多的一年,其他人很早就开始考CET和NCRE,而我在这一年开始才想起来是该拿些证书了,虽然不一定有多大的用处,但是还是那句话:有些东西暂时没用不要紧,但是,一定不
2014-01-28 11:44:58 4549 37
原创 机房收费系统之CDM
在写文档的过程中,肯定会有系统数据库的设计,那么如何进行数据库的设计呢?先来给大家说明一个概念: CDM:概念数据模型(CDM,Conceptual Data Model)用于从概念层开始设计过程。因为在概念层,无须考虑实际物理实现的细节。CDM 描述数据库的整体逻辑结构。它独立于任何软件或具体的数据存取结构,能够对《需求规格说明书》中的业务需求进行形式化描述。它的主要作用是:
2014-01-26 15:48:05 2420 25
原创 操作系统之进程管理(2)
上篇博文我们主要共同学习了进程的一些基本概念,这次我们就要来分析一下进程间的相互作用,即进程的互斥、同步与通信。 进程互斥是进程之间所发生的一种间接性相互作用,这种相互作用是进程本身所不希望的,也是运行进程感觉不到的。进程互斥既可能发生在相关的进程之间,也可能发生在不相关的进程之间。 几个概念需要了解: 共享变量:多个进程均需访问的变量称
2014-01-17 22:11:49 2601 26
原创 操作系统之进程管理(1)
我相信很多人都使用过任务管理器,如下图所示:在进程的选项卡下面显示了所有当前正在运行的进程,包括应用程序、后台服务等,也可以在这里找到那些隐藏在系统地层深处的病毒程序或者木马程序,不过前提是你必须知道它的名称。正因为如此,在应用程序出现未响应,即俗话说的卡死现象时,只要调出任务管理器,强行终止应用程序或者进程,就可以结束卡死的状态。 说了这么多,无非就是想让大家对进
2014-01-12 10:05:04 2426 29
原创 操作系统之初出茅庐
对于操作系统相信大家都不会陌生,但是要问你:什么是操作系统?估计你就会迷茫了。当然这也不奇怪,如果不是专门了解过或者是学习过操作系统知识的人,很难给出一个描述。即便是专业搞操作系统的人士也不能给出操作系统的形式化定义,因为“操作系统”目前尚无统一的定义。百度百科给出的简介如下:操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运
2014-01-02 17:19:15 2364 33
原创 软件工程 项目总结
经过一个月左右的时间,终于将哈工大的软件工程视频系统的学习了一遍,一个最大的感受就是——软件工程这门学科所包含的东西真的很多。比如你要接触高级程序设计语言、经济学、数学、管理学等等许多领域的知识,当然不同的人侧重的方面是不一样的,软件公司的项目经理主要研究软件工程项目的管理,而作为一线的程序员则更看重主流的编程语言和新的算法及接口技术等计算机科学方面的东西。 如果你想成为软件工
2013-12-28 20:41:59 4675 28
原创 软件工程之软件维护
在上一篇的博客中,给大家介绍了软件测试的一些基础的东西,这一次的主题是软件维护。 在软件开发完成交付用户使用后,就进入了软件运行/维护阶段。此后的工作就是要保证软件在一个相当长的时期能够正常运行,这样对软件的维护工作就成为了必不可少的的了。 在软件运行/维护阶段对软件产品所进行的修改就是维护。要求进行维护的原因是多种多样的,归纳起来有3种: (1
2013-12-27 21:56:46 2077 21
原创 软件工程之软件测试
如果问你软件测试员和软件开发人员,哪个厉害?你可能认为写代码的比较厉害,以前我也是这么认为的,但是学习了软件工程的软件测试后,才知道原来软件测试人员的水平是略高于软件开发人员的……为什么真么说呢?因为软件测试人员不仅要看懂程序员写得代码,还要根据工程学方法设计测试用例,对程序员写的程序进行严格甚至是破坏性测试……
2013-12-21 21:56:55 2636 28
原创 软件工程之软件设计
利用工程学的思想和方法,进行软件的设计与开发,是很多非职业人士所欠缺的,在软件工程的科学中如何进行软件设计,应该遵循哪些原则和注意哪些问题?这篇博客会告诉你一些基本的理论知识和方法……
2013-12-15 21:40:49 2465 31
原创 软件工程之需求分析
软件工程是一门很好地科学,它的出现在很大程度上解决了软件危机对软件产业的影响,为什么软件工程能够解决软件危机的大部分问题呢?我们一起来看看软件工程到底有些什么好玩的东西*
2013-12-08 19:15:53 4510 50
原创 机房收费系统 项目总结
经过这么长时间的磕磕绊绊终于将机房收费系统的绝大部分功能做完了,但是还有很多的问题存在,还有很多地方值得商榷. 在进行测试的时候,出现的问题最多.因为还没有接触软件工程,所以即使是测试也是毫无章法的.在进行系统开发的过程中,更是凭着自己的感觉去做,没有软件计划,,没有需求分析,也没有概要设计和详细设计,直接进入了代码编写阶段,因此没有任何规范可言. 这样
2013-11-24 22:02:21 3573 41
原创 机房收费系统关于结账和账单生成的计算问题
在做这一块的时候,会涉及很多的计算问题,当然都是些加减乘除的简单计算,虽然简单,但是要想用代码实现它,就有些晕了,因为我们计算的数据都来自于数据库. 其实这些计算的程序代码是很简单的,因为我们不曾接触,所以大家会觉得乱,不知道如何下手.虽然如此,但是大家还是依靠自己的想法写出了代码,只是方法不一样,举个简单的例子: 比如我们要计算数据库中充值记录表R
2013-11-16 14:39:09 1911 28
原创 组合查询中一对单引号引起的悲剧
最近在忙着做机房收费系统,当做到组合查询的时候,发现了一个问题,那就是无法精确的返回满足查询条件的结果,具体的情况我们来看一个小例子:首先,我们来看看数据库中要查询的表的全部记录请注意红色方框标记的字段值,下面我们运行一下存在问题的源程序当我设置查询条件为:卡号>23时,请注意图中蓝色方框标记的数据,显然不满足我设置的查询条件,为什么会出现这个问题呢?起初我的直觉是数据类型的问
2013-10-27 17:23:56 2917 32
原创 数据库应用之约束的使用
何为约束?通俗来讲,就是一些条条框框,一些规则限制,数据库还有一个术语叫做规则,跟约束十分相似,在这里我就不谈规则了。当创建数据库表和字段时,可以声明约束(constraint),以限制可以进入字段的数据,利用约束来确保数据的有效性。使用DBMS保护数据的完整性,不是仅有的方法,但它可能是最好的方法。另外一种方法是利用一个外部程序确保数据的有效性,因为大多数数据库不被用户直接访问,而是通过某个
2013-08-18 16:12:11 2388 26
原创 异常处理——程序员的必修课
最近在写一个比较小的系统——学生信息管理系统,由于是第一次比较完整的去做一个系统,所以好多的问题都没有考虑到。虽然这个系统只是一个很小的系统,有17个窗体外加一个模块,但是通常系统所具备的功能它都有,正所谓麻雀虽小五脏俱全。 最初接触异常处理是在C++语言的学习中,虽然很早就接触过,但是在写程序或者做系统的时候,对于异常还是不够敏感,因此会出现忘记做异常处理的情况。这次做学生信息
2013-08-06 08:56:54 2065 18
高等数学 上 同济第六版
2018-08-03
《轻量级Java EE企业应用实战(第4版)》源码下载链接及说明
2016-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人