摘要:
一、上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式。并且我们也讲述了该如何通过设计手段去分析功能点及设计分离点,应该如何在设计的过程中分析的角度及如何去满足设计规范与原则。首先我们通过下图来回顾下上章要点:二、摘要 本文将已架构的方式去分析分层结构中的业务层的设计,如何写出来内聚度,高耦合的业务逻辑层,并且如何根据我们的项目中的个功能需要去设计业务层。我们本章将会通过几种可能的业务层的设计模式去分析,并且 阅读全文
posted @ 2013-01-31 15:25
于为
阅读(255)
评论(0)
推荐(0)
摘要:
一、前言 最近也许是由于假期的原因,我发布的文章的速度变慢了,对大家说下抱歉,这个系列的确我很难写,感谢大家对我的支持和关注,的确我在发布后得到大家的支持和认可,让我有了更多的动力,之前发布的有些内容,可能对各层讲解的内容的广度还不够,当然这和我个人的水平面有关,还请各位多多提出宝贵意见和建议。 从本篇开始,我将会采用更加规范的格式,更严谨的求知态度,更加准确的表达,去将接下来的系列文章写完,并且与群中的很多朋友交流后,他们希望出一个总的PDF电子书,这样可以方便阅读,的确谢谢各位的支持,我目前将以后每篇写的内容,放一份PDF格式的在群共享中,有需要的朋友可以进行相应的下载,由于本人的写作水平 阅读全文
posted @ 2013-01-31 15:24
于为
阅读(315)
评论(0)
推荐(0)
摘要:
一、上章回顾 上篇我们主要讲解了系统架构中的四种架构模式,并且分析了四种架构模式的实现及应用场景,那么先来回顾下架构中的业务逻辑层的使用及总结。如果大家对图中讲述的内容不明白或者说是不深入那么可以参考上篇讲解的内容:系统架构师-基础到企业应用架构-业务逻辑层。二、摘要 本文将已架构的方式去分析分层结构中的服务层的设计,如何设计出来满足我们说的业务需求及设计规范的服务层将是我们的目标,可能我想大家在项目架构的过程中可能有些同仁,没有用到该层,或者说是采用的是常用的分层结构的设计,而没有把服务层单独的抽出来,当然我们必须首先知道服务层是干什么用的?为什么要单独写一个服务层呢?还有就是设计服务层我们 阅读全文
posted @ 2013-01-31 15:24
于为
阅读(320)
评论(0)
推荐(0)
摘要:
一、上篇回顾 我们先来回顾下上篇讲解的内容,我们前面的几节分别讲述了,业务逻辑层、数据访问层、服务层、表现层,我们了解了这些分层的职责和分层之间的大概的关联关系,本篇可能主要是简单的介绍下企业应用的几类模式,结合这几个分层直接的交互来完成系统功能的构建。我们还是先对我们学习的四个分层的职责和功能做个大概的回顾,我们先来看看下图来回顾下我们讲述的内容。 我想通过上图,大家能回忆起我们讲述的相关内容,然后整理好自己的思路,我们本文将会针对这几个分层进行相应的模式的讲解,并且会结合实例来说明企业应用架构的简单应用。我想这也是大家关心的内容,我也希望大家能多提出宝贵意见,大家共同提高。 之前说是提供P 阅读全文
posted @ 2013-01-31 15:23
于为
阅读(270)
评论(0)
推荐(0)
摘要:
一、上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范。如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式。具体的内容请看下图: 上图描述了软件设计的原则:低耦合,高内聚,并且简单说明了,如何实现这2个原则,通过分离关注点的方式。我们把功能称之为关注点。二、摘要 本文将通过实例来讲解如何通过分离功能点,并且讲解分离关注点实现相应功能点时应该注意的问题。比如说一些相关的重要部分的内容。分离功能点是实现软件功能的一项重要基础,随着软件复杂度的不断提高,传统分离关注 阅读全文
posted @ 2013-01-31 15:14
于为
阅读(166)
评论(0)
推荐(0)
摘要:
一、上章回顾 上一篇:系统架构师-基础到企业应用架构-系统建模[中篇](下)中我们主要讲解了部署图、活动图,我们在这里也是参考上篇的形式,这里不再详细介绍。上篇主要讲解了下面2类建模图:二、摘要 本文将讲解其他的几个类型的建模图当然只是简单的讲解,并且将结合B2C电子商城系统进行分析通过使用我们已经讲解的建模图为例。分析系统可划分的子功能模块,每个功能模块内部的运行步骤等等。 上面的2个不同类型的进行划分的建模图,本章将对上述6个建模图进行分别举例讲解。三、本章内容 1、上章回顾。 2、摘要。 3、本章内容。 4、结构图。 5、行为图。 6、本章总结。 7、系列进度。 8、下篇预告。四、结构图 阅读全文
posted @ 2013-01-31 15:13
于为
阅读(181)
评论(0)
推荐(0)
摘要:
一、上章回顾 在上篇中我们讲解了几类UML2.0语言新推出的建模图形,总体来说通过这些图形能更详细的将某类信息表达出来。在这里我们简单回顾上篇讲解的内容。 上图中已经简单介绍了上章讲述的内容,具体内容请看:系统架构师-基础到企业应用架构-系统建模[下篇]。二、摘要 本章将主要的简单介绍在系统架构中的设计模式及相应规范准则。并结合相应的代码来说明如何遵循系统架构中的一些基本的设计规范及准则。而我们将在本文介绍几类常用的设计规范,我们先来看看结构化设计的二个基本原则: 当然既然提出了基本的准则,那么我们如何来满足准则呢,并且能更好的设计呢?我们可以通过如下手段来达到这样的要求:当然图中演示了功能分 阅读全文
posted @ 2013-01-31 15:13
于为
阅读(196)
评论(0)
推荐(0)
摘要:
一、上章回顾 首先、我们先来回顾下,上篇讲解的内容,加深下印象。上篇我们主要讲解了3个建模图形分别是:顺序图(序列图)、组件图、状态图。 具体功能描述如下图:这里不详细解释,如果不清楚请看:系统架构师-基础到企业应用架构-系统建模[中篇](上) 由于全部放在一篇中篇幅太长了,所以分开讲解。二、摘要 本文主要讲解:UML建模图中的活动图、部署图等 上图中就是本章要讲解的内容,本质将仔细的剖析,部署图与组件图的关系与区别,活动图与状态图的关系与区别。三、本章内容 1、上章回顾。 2、摘要。 3、本章内容。 4、建模中的抽象模型图之部署图、活动图。 5、本章总结。 6、系列进度。 7、下篇预告。四、 阅读全文
posted @ 2013-01-31 15:12
于为
阅读(191)
评论(0)
推荐(0)
摘要:
一、摘要 本文主要从系统架构中的建模开始讲解,本文讲述的内容主要是我在工作和学习过程中的总结和经验,不足之处还请大家多多批评指出,有更好的建议也可以留言说明。本意主旨是为不熟悉系统架构建模过程和不知道如何使用建模工具,或者不熟悉如何根据需求去建立模型的角度出发,简单的阐述了在系统架构的过程中我们应该从什么样的角度出发去分析需求并且建立抽象模型。这应该说是架构师必备的技能。 本文由浅入深,本篇将简单的介绍如何使用使用UML建模中的各个结构图与行为图,去完成抽象模型的建立。二、本章内容 1、摘要。 2、本章内容。 3、建模工具介绍及使用。 4、建模中的抽象模型图。 5、本质总结。 6、系列进度。 阅读全文
posted @ 2013-01-31 15:11
于为
阅读(211)
评论(0)
推荐(0)
摘要:
一、上章回顾 上篇文章主要简单的介绍了建模中使用的标准建模语言UML的相关内容,包括用例图与类图的使用方法及如何建模。相信大家对UML建模语言已经有了初步的认识,还请大家谨记UML不同的建模图形的用处。比如,用例图主要用来描述系统的功能需求。类图主要用来描述实体间的关系。谨记这些就可以帮助我们在系统架构的过程中深入的分析。 首先向大家道歉,上篇中有部分描述错误的地方,可能对大家造成一定的错误引导。这是上篇给出的图,我描述的是组合关系。 特别更正为:这是正确的结果。箭头指向聚合类。描述的信息并无任何错误。希望能对大家指正。二、摘要 本文主要从系统架构中的建模开始讲解,本文讲述的内容主要是我在工作 阅读全文
posted @ 2013-01-31 15:11
于为
阅读(178)
评论(0)
推荐(0)
摘要:
开篇说明 由于是自己对这些技术的学习总结和心得体会,错误之处在所难免,怀着技术交流的心态,现在发表出来,所以希望大家能够多多指点,这样能使一部分人受益同时也能纠正我的错误观点,以便和各位共同提高!软件架构到底是什么 软件架构可以被简单的描述为,一系列组件之间的组合,交互,继承的关系。当然这样的解释基本上人人都可以接收。不过在我们看来,这样的说法有点过于抽象。 软件架构有这标准的定义,就是参考ANSI/IEEE的标准,软件架构可以理解为软件密集型系统中对系统的实现和部署起决定性作用的的系统。 软件架构中的关键点是应该符合项目干系人的目标,功能上当然细分成功能性的和非功能性的需求。 软件架构有一定 阅读全文
posted @ 2013-01-31 15:10
于为
阅读(190)
评论(0)
推荐(0)
摘要:
开篇 上篇,我们介绍了,单机软件的架构,其实不管什么软件系统,都是为了解决实际中的一些问题,软件上为了更好的解决实际的问题才会产生,那么对于单机软件的架构则也是在不断的变化和发展,当然好的软件架构会对软件的生命周期起到决定的作用。好的软件架构,无疑会延长单机软件的生命周期,同时适应后期的不断的衍生的需求变化,.NET FrameWork的架构设计和体系结构设计,我相信是非常优秀的。 本篇,将会讲述大家比较常见的架构模式,客户端-服务器的模式,可以理解成C/S架构模式。现在的C/S架构已经从原来的简单的客户端-服务器的形式,变成了更多衍生的架构模式,C/A/S,C/S/M/S。包括多层C/S的架 阅读全文
posted @ 2013-01-31 15:08
于为
阅读(350)
评论(0)
推荐(0)
摘要:
开篇 系统架构的文章系列,也是搁浅的太久了,最近也是整理了下思路,将目前未完成的内容,写完吧,也不能拖太久,就不太好了。所以就趁周末写一下,今天我们要说的是单机应用,单击应用软件可以很复杂,也可以很简单。有些单机软件可以没有数据库,也可以有数据库,比如我们平时的一些工具类的软件,写字板,VS开发工具等,当然,目前很多的单机软件都有联网的功能,单机软件,估计大家有时候回想,单机软件不需要什么特殊的架构设计吧,其实不然,因为有的时候我们的单机工具,可能是提供给不同的用户群体等,或者是面向不同的人员使用时,适应不同的场景和需求的变化时,就会要求我们的单机软件也需要从架构的角度去考虑。因为如果想要可持 阅读全文
posted @ 2013-01-31 15:07
于为
阅读(461)
评论(0)
推荐(0)
摘要:
一、开篇 上一篇我们讲述了结构型模式中的代理模式。本篇,我们将会开始讲述行为型模式中的命令模式,在设计模式的这些基本的模式完成后,我将会将一些经常用的其他的一些扩展的模式进行讲解,希望能够引起大家的共鸣。 我们先来看看命令模式的定义吧: 命令模式是将一类对象的功能操作进行抽象,一般来说,这些对象有相同的方法,所以这类对象有着类似的操作,我们通过抽象,就可以定义出一个命令对象,通过这样的方式,用户程序在使用的时候,只与该命令对象打交道,而不用与一类对象打交道,降低了耦合性,提高了程序设计的灵活性。 命令模式适应于一组对象他们的操作形式非常的类似,这个时候我们可以把对象的行为进行抽象,抽象成命令对 阅读全文
posted @ 2013-01-31 15:02
于为
阅读(331)
评论(0)
推荐(0)
摘要:
一、上篇回顾 很久没有更新设计模式系列的文章了,有了很多热心朋友的反馈,我决定继续将这个系列赶快写完,最近由于过年了,有很多相关的事宜要做,所以没有时间来写,也是对大家的说下抱歉,感觉写文章的时间越来越少了,不过我会努力,尽快将这个系列写完,与大家共勉,希望大家有什么意见或建议,都可以帮我提出来,我好改进,谢谢!。 本文主要是讲述设计模式中的结构性模式中的最后一个本系列讲述的模式,也是经常用到的模式,代理模式,由于目前我们在很多的技术中都会用到这个代理模式,所以对我们来说,代理模式是必须掌握的模式之一。我们先来看看代理的思路及原理: 通过上面的图片,我们可以看到,通过增加代理来解耦A与C之间的 阅读全文
posted @ 2013-01-31 15:01
于为
阅读(190)
评论(0)
推荐(0)
摘要:
一、上篇回顾 通过上篇的简单描述,我们知道了桥接模式主要是为了解决,一个对象的多个维度的变化因素的变化太快,难以控制的问题,我们通过将每个维度的变化因素进行抽象, 然后我们的对象只要依赖于抽象即可,具体的实现调用我们不关心,通过对象组合的方式,我们就能组合出我们想要的对象。无疑这是一种非常灵活的也是满足设计模式的原则的,抽象和实现分离,使他们各自发生变化都不受对方的影响。而且我们也讲述了,使用桥接模式的几个典型的场景,现在我们的实际项目中就有这样的问题,我也是在项目的使用过程中加深对桥接模式的理解的,桥接模式为系统在多个维度的变化的适应性方面提供了很好的参考,特别适合底层框架的开发过程中使用, 阅读全文
posted @ 2013-01-31 15:00
于为
阅读(180)
评论(0)
推荐(0)
摘要:
一、上篇回顾 通过上篇的讲述,我们知道装饰模式,特别适合对某个类型的对象,动态的增加新的职责,应用程序就像使用原来的对象一样使用对象新增的装饰后的功能,装 饰模式就好像是穿了一层层的外壳,这样的方式避免了通过继承来为类型添加新的职责的形式可取,通过继承的方式容易造成子类的膨胀,但是当装饰类太多的时 候,也是个难以维护的问题,至少是在装饰对象的时候,我们可能需要多步操作来完成对象的装饰,这时候我们可以同上面提出的改进的方案,来完成自动配置装饰 模式,记录操作模式的状态,可以进行有效的回滚操作,以完成撤销操作。 我们先来回顾下装饰模式的使用场景: 1、当我们需要为某个现有的对象,动态的增加一个新的 阅读全文
posted @ 2013-01-31 15:00
于为
阅读(279)
评论(0)
推荐(0)
摘要:
一、上篇回顾 上篇我们讲述了比较常用的适配器模式,并且分析了适配器的一般使用场景: 1、我们在使用第三方的类库,或者说第三方的API的时候,我们通过适配器转换来满足现有系统的使用需求。 2、我们的旧系统与新系统进行集成的时候,我们发现旧系统的数据无法满足新系统的需求,那么这个时候,我们可能需要适配器,完成调用需求。 3、我们在使用不同数据库之间进行数据同步。(我这里只是分析的是通过程序来说实现的时候的情况。还有其他的很多种方式[数据库同步])。 并且讲述了对象适配器和类适配器的区别: 对象适配器:不是通过继承的方式,而是通过对象组合的方式来进行处理的,我们只要学过OO的设计原则的都知道,组合相 阅读全文
posted @ 2013-01-31 14:59
于为
阅读(684)
评论(0)
推荐(0)
摘要:
一、上篇回顾 通过上篇的简单讲解,我们知道了,组合模式意图是通过整体与局部之间的关系,通过树形结构的形式进行组织复杂对象,屏蔽对象内部的细节,对外展现统一的方式来操作对象,是我们处理更复杂对象的一个手段和方式。本文以查询控件为例,说明了,查询控件内部的组成元素,及如何操作内部的组成元素,包括添加元素,删除和处理相应事件的Handler,当然组合模式的作用远比这些强大,后面我们肯定会在一些实例代码中运用到组合模式的。组合模式如果在条件允许的情况下,我们尽量使用组合模式来处理复杂对象,远比通过继承出来的对象来的有效。 组合模式-强调的是如何组织整体和局部之间的结构,将整体和局部之间的关系,通过树形 阅读全文
posted @ 2013-01-31 14:58
于为
阅读(202)
评论(0)
推荐(0)
摘要:
一、上篇回顾上篇我们主要讲述了创建型模式中的最后一个模式-原型模式,我们主要讲述了原型模式的几类实现方案,和原型模式的应用的场景和特点,原型模式适合在哪些场景下使用呢?我们先来回顾一下我们上篇讲述的3个常用的场景。 1、我们在运行态的时候,动态的创建一个动态类型的对象的时候,可能我们使用原型模式,可以动态的创建指定类型的副本,这无疑是好的选择,否则如果通过我们前面讲述的几个创建型模式来实现的话,效率和代价上是非常大的。 2、有的时候我们需要对比一个对象在处理前和处理后进行对象状态的对比,对比是否处理后对象的状态是否发生变化,或者是其他的要求。这个时候通过原型模式来克隆对象的副本,远比通过引入其 阅读全文
posted @ 2013-01-31 14:57
于为
阅读(205)
评论(0)
推荐(0)
摘要:
一、上篇回顾 我们上篇主要讲述了结构型模式中的外观模式,外观模式作为结构型模式中的一个简单又实用的模式,外观模式通过封装细节来提供大粒度的调用,直接的好处就是,封装细节,提供了应用写程序的可维护性和易用性。外观模式一般应用在系统架构的服务层中,当我们是多个不同类型的客户端应用程序时,比如一个系统既可以在通过Web的形式访问,也可以通过客户端应用程序的形式时,可能通过外观模式来提供远程服务,让应用程序进行远程调用,这样通过外观形式提供服务,那么不管是什么样的客户端都访问一致的外观服务,那么以后就算是我们的应用服务发生变化,那么我们不需要修改没一个客户端应用的调用,只需要修改相应的外观应用即可。我 阅读全文
posted @ 2013-01-31 14:56
于为
阅读(225)
评论(0)
推荐(0)
摘要:
一、上篇回顾 上篇创建者模式中,我们主要讲述了创建者的几类实现方案,和创建者模式的应用的场景和特点,创建者模式适合创建复杂的对象,并且这些对象的每个组成部分的详细创建步骤可以是动态的变化的,但是每个对象的组装的过程来说可能是相对固定的或者说是对象的创建的过程是固定的,那么通过创建者模式可以很好的解决这类复杂对象的创建,而在我们的生活中或者是项目中可能会有这个方面的需求,那么使用创建者模式无疑是好的选择。 创建者模式中的每个对象组成部分的构建都是对象本身提供的内部方法,具体的创建者只是调用要创建的对象的内部的相应组成部分的构建方法,组织这些对象内部构建方法的执行顺序,完成对象的完整构建。当我们的 阅读全文
posted @ 2013-01-31 14:52
于为
阅读(201)
评论(0)
推荐(0)
摘要:
一、上篇回顾 上篇我们主要讲述了抽象工厂模式和工厂模式。并且分析了该模式的应用场景和一些优缺点,并且给出了一些实现的思路和方案,我们现在来回顾一下: 抽象工厂模式:一个工厂负责所有类型对象的创建,支持无缝的新增新的类型对象的创建。这种情况是通过配置文件来实现的,通过字典映射的方式来实现,不过可能效率上有点低下,可以通过优化的方式来做,上篇中我们也给出了委托的工厂实现形式,相比之前的简单工厂模式和工厂模式有了更好的灵活性,并且对具有依赖关系或者组合关系的对象的创建尤为适合。 上篇中,有不少的朋友提出了一些意见和建议,首先很感谢大伙的支持和鼓励,有朋友提出来,我画的图不够专业,专业人士应该用UML 阅读全文
posted @ 2013-01-31 14:51
于为
阅读(212)
评论(0)
推荐(0)
摘要:
一、上篇回顾 上篇我们主要讲述了简单工厂模式和工厂模式。并且分析了每种模式的应用场景和一些优缺点,我们现在来回顾一下: 简单工厂模式:一个工厂负责所有类型对象的创建,不支持无缝的新增新的类型对象的创建。 工厂模式:多个工厂负责多个类型对象的创建,每个工厂只负责具体类型对象的创建,支持无缝的新增类型对象的创建,需要实现工厂接口类和具体的类型对象类。 我们来简单的对比下这2个模式的优缺点:模式名称优点缺点简单工厂模式一个工厂负责所有对象的创建,简单灵活不符合高内聚的原则,不支持无缝的扩展工厂模式可以无缝的新增类型,每个工厂职责单一,符合高内聚的原则工厂类太多,难以维护。 工厂模式,很优雅的解决了应 阅读全文
posted @ 2013-01-31 14:49
于为
阅读(279)
评论(0)
推荐(0)
摘要:
一、开篇 一个多月没有写文章了,一方面是由于家庭的原因,还有一方面是因为工作上的原因,所以在这里给大家说抱歉了,这段时间也是有很多热心的朋友,一直询问我,什么时候能把相关的系列文章写完,其实我也特别的想赶快的把相关的文章书写完毕,不过现在真的是有时候力不从心,家庭和工作上的事情需要都处理好,所以属于个人思考的时间可能就会相对的少一些了,不过我会继续努力,出时间来把下面的这几个系列写完: 1、系统架构技能之设计模式-系列索引 2、系统架构师-基础到企业应用架构-系列索引 3、Step by Step-构建自己的ORM系列 当然可能在我写的过程中又会产生新的想法或者思路,我会提出来,并且给出相应的 阅读全文
posted @ 2013-01-31 14:48
于为
阅读(362)
评论(0)
推荐(0)
摘要:
一、开篇 其实我本来不是打算把系统架构中的一些设计模式单独抽出来讲解的,因为很多的好朋友也比较关注这方面的内容,所以我想通过我理解及平时项目中应用到的一些常见的设计模式,拿出来给大家做个简单讲解,我这里只是抛砖引玉,如果某个地方讲解的不正确或者不详细,请大家批评指出。园子里面的很多的大牛写的设计模式都非常的经典,我这里写可能有点班门弄斧的感觉,不过我还是决定把它写出来,希望能对初学者有一定的帮助和指导的作用。当然我这里如果说某个地方解释的有问题或者说是某个地方写的不符合逻辑之处,还请大家多多指出,提出宝贵意见。 软件工程中其实有很多总结性的话语,比如说软件=算法+数据结构等等这样的描述,当然我 阅读全文
posted @ 2013-01-31 14:47
于为
阅读(191)
评论(0)
推荐(0)
摘要:
相对路径与绝对路径,本文来自:http://www.cnblogs.com/sutengcn/archive/2008/08/17/201993.html1,相对路径与绝对路径 文档路径类型一共有三种:绝对路径、根相对路径和文档相对路径。 绝对路径是包括服务器协议(在本例中为http协议)的完全路径,比如“洪恩在线——电脑乐园”,完全路径为:http://www.hongen.com/pc/index.htm,如果所要链接当前站点之外的文档,就必须使用绝对路径。 相对路径包括根相对路径(Site Root)和文档相对路径(Document)两种。 前面我们讲过,在本地磁盘上编辑网页时,需... 阅读全文
posted @ 2013-01-31 11:13
于为
阅读(597)
评论(0)
推荐(0)
摘要:
本文使用ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下:表名:REGIONS序号列名数据类型长度小数位标识主键允许空默认值说明1REGION_IDNUMBER是否2REGION_NAMEVARCHAR225是表名:COUNTRIES序号列名数据类型长度小数位标识主键允许空默认值说明1COUNTRY_IDCHAR2是否2COUNTRY_NAMEVARCHAR240是3REGION_IDNUMBER是表名:LOCATIONS序号列名数据类型长度小数位标识主键允许空默认值说明1LOCATION_IDNUMBER40是否2STREET_ADDRESSVARCHAR240是3POSTAL 阅读全文
posted @ 2013-01-31 10:44
于为
阅读(376)
评论(0)
推荐(0)
摘要:
本文使用ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下:HR.EMPLOYEES员工表结构如下:HR.DEPARTMENTS表结构如下:HR.REGIONS表结构如下:SQL>DESCHR.REGIONS;NameTypeNullableDefaultComments----------------------------------------------REGION_IDNUMBERREGION_NAMEVARCHAR2(25)Y用SQL完成以下问题列表:1.让SELECTTO_CHAR(SALARY,'L99,999.99')FROMHR.EMPLO 阅读全文
posted @ 2013-01-31 10:43
于为
阅读(496)
评论(0)
推荐(0)
摘要:
本文使用ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下:表名:REGIONS序号列名数据类型长度小数位标识主键允许空默认值说明1REGION_IDNUMBER是否2REGION_NAMEVARCHAR225是表名:COUNTRIES序号列名数据类型长度小数位标识主键允许空默认值说明1COUNTRY_IDCHAR2是否2COUNTRY_NAMEVARCHAR240是3REGION_IDNUMBER是表名:LOCATIONS序号列名数据类型长度小数位标识主键允许空默认值说明1LOCATION_IDNUMBER40是否2STREET_ADDRESSVARCHAR240是3POSTAL 阅读全文
posted @ 2013-01-31 10:43
于为
阅读(283)
评论(0)
推荐(0)
摘要:
本文使用的实例表结构与表的数据如下:scott.emp员工表结构如下:SQL>DESCSCOTT.EMP;NameTypeNullableDefaultComments-------------------------------------------EMPNONUMBER(4)员工编号ENAMEVARCHAR2(10)Y员工姓名JOBVARCHAR2(9)Y职位MGRNUMBER(4)Y上级编号HIREDATEDATEY雇佣日期SALNUMBER(7,2)Y薪金COMMNUMBER(7,2)Y佣金DEPTNONUMBER(2)Y所在部门编号--提示:工资=薪金+佣金scott.dep 阅读全文
posted @ 2013-01-31 10:42
于为
阅读(288)
评论(0)
推荐(0)
摘要:
本文与大家共同讨论与分享ORACLE SQL的一些常用经典查询,欢迎大家补充,同时你认为有那些经典的也可分享出来。在本文中,对每一个问题,你要是认为有什么更好的解决方法也欢迎你及时提出。交流与分享才能共同进步嘛,感谢!本文使用的实例表结构与表的数据如下:scott.emp员工表结构如下:NameTypeNullableDefaultComments-------------------------------------------EMPNONUMBER(4)员工号ENAMEVARCHAR2(10)Y员工姓名JOBVARCHAR2(9)Y工作MGRNUMBER(4)Y上级编号HIREDATED 阅读全文
posted @ 2013-01-31 10:41
于为
阅读(293)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:8.1触发器类型8.1.1DML触发器8.1.2替代触发器8.1.3系统触发器8.2创建触发器8.2.1触发器触发次序8.2.2创建DML触发器8.2.3创建替代(INSTEAD OF)触发器8.2.3创建系统事件触发器8.2.4系统触发器事件属性8.2.5使用触发器谓词8.2.6重新编译触发器8.3删除和使能触发器8.4触发器和数据字典8.5数据库触发器的应用举例触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。8.1触发器类型触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存 阅读全文
posted @ 2013-01-31 10:40
于为
阅读(212)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:第七章程序包的创建和应用7.1程序包简介7.2程序包的定义7.3包的开发步骤7.4包定义的说明7.5子程序重载7.6加密实用程序7.7删除包7.8包的管理7.1程序包简介程序包(PACKAGE,简称包)是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,作为一个完整的单元存储在数据库中,用名称来标识包。它具有面向对象程序设计语言的特点,是对这些PL/SQL程序设计元素的封装。包类似于c#和JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法。把相关的模块归类成为包,可使开发人员利用面向对象的方法进行存储过程的开发,从而提高系统性能。与高 阅读全文
posted @ 2013-01-31 10:22
于为
阅读(476)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:6.1引言6.2创建函数6.3存储过程6.3.1创建过程6.3.2调用存储过程6.3.3AUTHID6.3.4PRAGMA AUTONOMOUS_TRANSACTION6.3.5开发存储过程步骤6.3.6删除过程和函数6.3.7过程与函数的比较6.1引言过程与函数(另外还有包与触发器)是命名的PL/SQL块(也是用户的方案对象),被编译后存储在数据库中,以备执行。因此,其它PL/SQL块可以按名称来使用他们。所以,可以将商业逻辑、企业规则写成函数或过程保存到数据库中,以便共享。过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出 阅读全文
posted @ 2013-01-31 10:21
于为
阅读(238)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:5.1异常处理概念5.1.1预定义的异常处理5.1.2非预定义的异常处理5.1.3用户自定义的异常处理5.1.4用户定义的异常处理5.2异常错误传播5.2.1在执行部分引发异常错误5.2.2在声明部分引发异常错误5.3异常错误处理编程5.4在PL/SQL中使用SQLCODE,SQLERRM异常处理函数即使是写得最好的PL/SQL程序也会遇到错误或未预料到的事件。一个优秀的程序都应该能够正确处理各种出错情况,并尽可能从错误中恢复。任何ORACLE错误(报告为ORA-xxxxx形式的Oracle错误号)、PL/SQL运行错误或用户定义条件(不一写是错误),都可以。当然了,PL/S 阅读全文
posted @ 2013-01-31 10:19
于为
阅读(304)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:4.1游标概念4.1.1处理显式游标4.1.2处理隐式游标4.1.3关于NO_DATA_FOUND和%NOTFOUND的区别4.1.4使用游标更新和删除数据4.2游标变量4.2.1声明游标变量4.2.2游标变量操作游标的使用在PL/SQL程序中,对于处理多行记录的事务经常使用游标来实现。4.1游标概念在PL/SQL块中执行SELECT、INSERT、DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(ContextArea),即缓冲区。游标是指向该区的一个指针,或是命名一个工作区(WorkArea),或是一种结构化数据类型。它为应用等量齐观提供了一种对具 阅读全文
posted @ 2013-01-31 10:18
于为
阅读(298)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:3.1条件语句3.2CASE表达式3.3循环3.4标号和GOTO3.5NULL语句介绍PL/SQL的流程控制语句,包括如下三类:l控制语句:IF语句l循环语句:LOOP语句,EXIT语句l顺序语句:GOTO语句,NULL语句3.1条件语句IF<布尔表达式>THENPL/SQL和SQL语句ENDIF;-----------------------IF<布尔表达式>THENPL/SQL和SQL语句ELSE其它语句ENDIF;-----------------------IF<布尔表达式>THENPL/SQL和SQL语句ELSIF<其它布尔 阅读全文
posted @ 2013-01-31 10:16
于为
阅读(226)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:2.1PL/SQL块2.2PL/SQL结构2.3标识符2.4PL/SQL变量类型2.4.1变量类型2.4.2复合类型2.4.2.1记录类型2.4.2.2数组类型2.4.2.3使用%TYPE2.4.3使用%ROWTYPE2.4.4LOB类型2.4.5BIND变量2.4.6PL/SQL表(TABLE)2.5运算符和表达式(数据定义)2.5.1关系运算符2.5.2一般运算符2.5.3逻辑运算符2.6变量赋值2.6.1字符及数字运算特点2.6.2BOOLEAN赋值2.6.3数据库赋值2.6.4可转换的类型赋值2.7变量作用范围及可见性2.8注释2.9简单例子2.9.1简单数据插入例子 阅读全文
posted @ 2013-01-31 10:13
于为
阅读(344)
评论(0)
推荐(0)
摘要:
本篇主要内容如下:第一章PL/SQL程序设计简介1.1SQL与PL/SQL1.1.1什么是PL/SQL?1.2PL/SQL的优点或特征1.2.1有利于客户/服务器环境应用的运行1.2.2适合于客户环境1.2.3过程化1.2.4模块化1.2.5运行错误的可处理性1.2.6提供大量内置程序包1.3PL/SQL可用的SQL语句1.4运行PL/SQL程序SQL语言只是访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发。PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以 阅读全文
posted @ 2013-01-31 10:12
于为
阅读(271)
评论(0)
推荐(0)
摘要:
Beginning Silverlight 4 in C#-导航在Silverlight里,导航框架允许开发者在Silverlight应用程序里实现一种方式来跳转到不同的页面,就像网站上的不同页面一样。这个框架也允许开发者创建历史使其与浏览器结合,使用户能使用浏览器的向前和向后导航。Frame和Page对象导航框架的两个主要对象是Frame和Page对象。Frame与ASP.NET母版页中的ContentPlaceHolder非常相似,是在一个页面放置不同views的地方。练习:创建一个导航Silverlight应用程序在这个练习里,会创建一个简单的应用程序包含两个超链接按钮和一个Frame。 阅读全文
posted @ 2013-01-31 10:05
于为
阅读(208)
评论(0)
推荐(0)
摘要:
Beginning Silverlight 4 in C#-数据访问和网络Silverlight应用程序的数据访问与传统的应用程序有些区别。你需要搞清楚它的工作原理和它的局限性。这一章,你会看到为什么Silverlight的数据访问与众不同,同时研究Silverlight应用程序的数据访问机制。Silverlight应用程序的数据访问就像前面讨论的一样,RIAs消除了Windows-Based的智能客户端与Web-based应用程序的隔阂。当在RIAs这种类型的环境下时,数据访问和网络会令人迷惑。在智能客户端里,应用程序总是能访问数据。它可以创建一个到数据库的连接,维护数据库的状态,同时保持连 阅读全文
posted @ 2013-01-31 10:04
于为
阅读(160)
评论(0)
推荐(0)
摘要:
Beginning Silverlight 4 in C#-Silverlight工具包参考源码当第一版本的Silverlight版本发布时,只包含两个控件,TextBlock和Rectangle.Silverlight开发者必须用这两个控件创建其它所有控件.还好,每个版本的Silverlight都添加了大量的新控件.但是有些控件仍然没有包含在Silverlight里.其中一个例子就是树控件.开发者如果想创建一个使用树的Silverlight应用程序有几个选择,它们自己创建一个树控件,购买第三方控件,或者到开源树控件里找一个免费的.虽然三个方法都可以,但这一章,我们研究最后一个方案,Silve 阅读全文
posted @ 2013-01-31 10:03
于为
阅读(248)
评论(0)
推荐(0)
摘要:
Beginning Silverlight 4 in C#-数据绑定和Silverlight List控件参考源码上一篇关注Silverlight包含的表单控件.这一篇,你会看到两个显示列表数据的控件:ListBox和DataGrid.这些是典型的通过数据绑定技术实现绑定数据的控件.数据绑定通过数据绑定,UI元素会从数据源中"绑定"数据,就像下图,当数据源改变,UI元素绑定的这些数据会更新已反应数据源的变化.数据可以来自不同类型的源,同时绑定目标也可以是任何UI元素,包括标准的Silverlight控件.数据绑定简化了应用程序的开发.因为改变是自动反应的,你不要手动更新UI 阅读全文
posted @ 2013-01-31 10:02
于为
阅读(311)
评论(0)
推荐(0)
摘要:
Beginning Silverlight 4 in C#-Silverlight控件设置控件属性最简单直接设置属性的方法是使用特性(attribute)句法.但是,在某些情况,只能用元素(element)句法.特性句法大部分的属性可以使用特性句法以一个简单的字符串形式表现.在XAML设置一个特性就好像是在XML里设置一个特性.一个XML元素包含一个节点和一些特性.Silverlight控件以相同的方式定义,控件名是节点,属性以特性(attributes)的方式定义.例如,你可以简单地使用特性句法设置一个按钮控件的Width,Height和Content属性,如下:<Button Wid 阅读全文
posted @ 2013-01-31 10:01
于为
阅读(158)
评论(0)
推荐(0)
摘要:
Beginning Silverlight 4 in C#-Silverlight的布局管理-学习笔记布局管理Silverlight提供了一个非常灵活的布局管理系统让你指定控件怎样在你的应用程序中出现.你可以使用静态的布局,也可以使用自适应浏览器的动态的布局.5个布局控件中,每一个都有优点和缺点,见下面表格:控件描述优点缺点Canvas基于绝对位置的控件非常简单的控件需要每个控件都有Canvas.Top和Canvas.Left属性来定义控件在Canvas中的位置StackPanel基于水平和垂直"栈"的控件允许一个快速的动态布局.使用StackPanel可以做一些很有趣的布 阅读全文
posted @ 2013-01-31 09:59
于为
阅读(217)
评论(0)
推荐(0)
摘要:
Beginning Silverlight 4 in C#-Welcome to Silverlight 4[学习笔记]Silverlight是什么就像我上面章节所解析,所有的RIAs有一个相同的特征,一个位于用户与服务之间的客户端运行时.在Microsoft的RIA解决方案中,Silverlight就是这个客户端运行时.尤其,Silverlight是一个可以把用户接口和图形资源插入到HTML页面的跨平台,跨浏览器的插件.用于定义Silverlight的canvas的markup称为可扩展程序标记语言(Extensible Applic ation Markup Language,XAML,发 阅读全文
posted @ 2013-01-31 09:57
于为
阅读(183)
评论(0)
推荐(0)

浙公网安备 33010602011771号