自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

转载 软件设计原则

1、单一职责(SRP,Sign Responsible Principle)      核心思想:一个类,最好只做一件事情,应该仅有一个引起它变化的原因(高高内聚、低耦合) 2、开放封闭原则(OCP,Open Closed Principle)     核心思想:类模块应该是课扩展的,但是不可修改(对扩展开放,对更改封闭)l 对扩展开放,意味着有新的需求变化

2014-06-25 23:05:51 371

转载 软件设计原则总结

1.问题界定。 问题的界定,对于软件开发来说是直观重要的.因为任何一个软件都不是单纯的独立服务的.必定是为了解决某些问题而开发软件进行更好的解决问题. 因此,问题的界定对于软件的成功开发和应用来说致关重要. 但同时,问题界定也是最难处理的一部分.我相信工作几年,或者读过吗>>这本书的人,对于问题定义肯定会有非常深刻的认知和理解. 问题界定的主要目的是让我们能够明白软件系

2014-06-25 23:03:31 512

转载 集群技术

一、高可用性集群系统 集群技术(Cluster技术)就是将多台服务器用集群软件连接在一起,组成一个高度透明的大型服务器群的计算机系统,作为一个整体为客户端提供服务,客户端能共享网络上的所有资源,如数据或应用软件等,同时客户端的用户并不关心其应用Server运行在那台服务器上,只关心其应用Server是否能连续工作。当集群系统内某一台服务器出现故障时,其备援服务器便立即接管该故障服务器的应用

2014-06-19 22:54:45 921

转载 适合运用云计算的应用服务

云计算被越来越多的知名企业所采用,许多公司也对其蠢蠢欲动。但是并不是所以的公司都适合运用云计算,本文将为大家介绍一些适合运用云计算的应用服务。云计算是基于高效的虚拟计算资源,应用程序能以一种灵活且安全的方式实现快速扩展和缩减,从而交付高品质服务。业务或客户服务以极为简化的方式交付,这将大大推进创新和高效决策。云计算使得IT管理更加轻松,保证快捷响应业务需求。云计算为上层应用服务提供资源和能

2014-06-19 22:51:08 645

转载 云计算技术的产生、概念、原理、应用和前景

2006年谷歌推出了“Google 101计划”,并正式提出“云”的概念和理论。随后亚马逊、微软、惠普、雅虎、英特尔、IBM等公司都宣布了自己的“云计划”,云安全、云存储、内部云、外部云、公共云、私有云……一堆让人眼花缭乱的概念在不断冲击人们的神经。那么到底什么是云计算技术呢?对云计算技术的产生、概念、原理、应用和前景又在哪里?  一、云计算思想的产生  传统模式下,企业建立一套IT系统不

2014-06-18 23:54:02 529

转载 几种必知的oracle结构图

一、数据库结构  二、Oracle 内存结构  三、进程结构  1、 用户进程:在数据库用户请求连接到Oracle 服务器时启动  2、 服务器进程:可以连接到Oracle实例,它在用户建立会话时启动  3、 后台进程:再启动Oracle实例时启动  四、Oracle实例管理  1、 系统监视器(SMON):出

2014-06-18 23:50:31 367

转载 Oracle数据库安装及配置(一)

1、安装Oracle 版本:Oracle Database 10g Release 2 (10.2.0.1)下载地址:http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html安装设置:1)这里的全局数据库名即为你创建的数据库名,

2014-06-17 00:43:40 409

转载 mysql数据仓库指南

前言欢迎使用  mysql多维数据仓库指南。    数据仓库可以通过集成各种多样的数据实现信息的统一,这些数据来源包括现行的事务操作和管理信息系统,以及外部各种信息源。这些源数据将被整合,清洗,转换,如果需要直接从这些数据来源读取数据的话,该数据将会在数据仓库中以更有利于操作的方式存储。    数据仓库的数据构造方式使你可以存储当前和历史的数据。当前数据是实际事务操作活动必要的,一般是

2014-06-15 16:44:53 2189 1

转载 负载均衡

负载均衡 (Load Balancing) 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

2014-06-15 15:44:28 1360

转载 行为型模式专题总结

行为型模式设计到算法和对象间的职责分配,不仅描述对象或类的模式,还描述它们之间的通信方式,刻划了运行时难以跟踪的复杂的控制流,它们将你的注意力从控制流转移到对象间的关系上来。行为型类模式采用继承机制在类间分派行为,例如Template Method 和Interpreter;行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组相互对等的对象如何相互协作以完成其中任何一个对象都单独无法完成

2014-06-02 20:38:25 752

转载 行为型模式11:职责链模式(Chain Of Responsibility)

职责链模式(Chain Of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。       这里发出这个请求的客户端并不知道这当中的哪一个对象最终处理该请求,这样系统的更改可以在不影响客户端的情况下动态的重新组织和分配责任。职责链模式UML类图

2014-06-02 20:34:24 448

转载 行为型模式10:策略模式(Strategy Pattern)

一个策略是一个计划,或是一个方案。通过执行这个计划或是方案,我们可以完成某个任务。策略与算法相比,策略能够在更大的范围内提供可选方案。策略是一组方案,这些方案可以相互之间替换。        利用策略模式,我们可以把相互之间可替换的方案封装在一些具有共同接口的类中,从而使得他们可以相互替换。共同接口定义了策略的输入和输出,操作的实现在各个类中完成。通过应用策略模式可以把用于选择策略的代码逻

2014-06-02 20:27:02 380

转载 行为型模式9:模版方法模式(Template Method)

概述变化一直以来都是软件设计的永恒话题,在XP编程中提倡拥抱变化,积极应对。如何更好的去抓住变化点,应对变化?如何更好的提高代码复用?通过学习Template Method模式,您应该有一个新的认识。意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。[-GOF《设计模式》]结构图

2014-05-28 23:29:49 514

转载 行为型模式8:解释器模式(Interpreter Pattern)

解释器模式就是定义语言的文法,并且建立一个解释器来解释该语言中的句子。     给定一个语言后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。解释器模式将描述怎样在有了一个简单的文法后,使用模式设计解释这些语句。在解释器模式里面提到的语言是指任何解释器对象能够解释的任何组合。在解释器模式中需要定义一个代表 文法的命令类的等级结构

2014-05-28 23:22:47 462

转载 行为型模式7:状态模式(State Pattern)

一个对象的状态是这个对象属性值的一个组合,如果我们对一个对象的成员变量进行了赋值操作,或者调用了一个对象中的某个方法,这个对象的状态往往会发生变化。而与状态相关的逻辑可能分布在这个类的多个方法中。       我们引入一组新类,每个类代表一个不同的特定状态,然后将与状态相关的行为分配到这些新类中。换句话说,就是引入一组表示对象状态的类,然后把与状态相关的操作分配到这些表示状态的类中。一个对

2014-05-28 23:20:29 490

转载 行为型模式6:策略模式(Strategy Pattern)

策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。【1】基本概念          策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。【2】简单分析       

2014-05-27 19:09:58 303

转载 行为型模式5:命令模式(Command Pattern)

概述在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合[李建忠]。这就是本文要说的Command模式。意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数

2014-05-25 22:38:27 312

转载 行为型模式4:观察者模式(Observer Pattern)

概述在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象

2014-05-25 21:44:04 291

转载 结构型模式专题总结

结构型模式概述结构型模式,顾名思义讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象,从而实现新的功能(对象结构型模式)。这些结构型模式,它们在某些方面具有很大的相似性,仔细推敲,侧重点却各有不同。Adapter模式通过类的继承或者对象的组合侧重于转换已有的接口;Bridge模式通过将抽象和实现相分离,让它们可以分别独立的变化,它强调的是系统沿着多

2014-05-25 21:39:57 316

转载 Spring MVC 框架搭建及详解

现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。  一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)

2014-05-25 21:28:52 281

转载 Spring入门教程

1.Spring简介(1)Spring是什么Spring是轻量级的J2EE应用程序开源框架。它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心

2014-05-25 21:22:36 347

转载 结构型模7:代理模式(Proxy Pattern)

1.概述       因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供一组方法给普通用户,特别方法给管理员用户?以上两种需求都非常类似,并且都需要解决一个更大的问题:你如何提供一致的接口给某个对象让它可以改变其内部功能,或者是从来不存在的功能? 可以

2014-05-22 22:57:03 287

转载 结构型模6:享元模式(Flyweight Pattern)

概述面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价。那么我们如何去避免大量细粒度的对象,同时又不影响客户程序使用面向对象的方式进行操作?意图运用共享技术有效地支持大量细粒度的对象。[GOF 《设计模式》]结构图图1  Flyweight模式结构图生活中的例子享元模式使用共享技术有效地

2014-05-22 22:47:30 297

转载 结构型模5:外观模式(Façade Pattern)

概述在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?这就是要说的Façade 模式。意图为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。[GOF 《设计模式》

2014-05-22 19:54:00 380

转载 结构型模4:组合模式(Composite Pattern)

概述组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。意图将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。[GOF 《设计模式》]结构图图1 Composite模式结构图

2014-05-22 19:52:13 335

转载 结构型模式3:装饰模式(Decorator Pattern)

概述在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?这就是本文要讲的Decorator模式。

2014-05-22 19:48:34 326

转载 结构型模式2:桥接模式(Bridge Pattern)

概述在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。意图将抽象部分与实现部分分离,使它们都可以独立的变化。[GOF 《设计模式》]结构图图1 Bridge模式结构图生活中的例子桥接模式将抽象部分与它

2014-05-22 19:46:42 450

转载 结构型模式1:适配器模式(Adapter Pattern)

概述在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是本文要说的Adapter 模式。意图将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一

2014-05-19 23:48:06 325

转载 行为型模式3:迭代器模式

定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图:       如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:[java] view plaincopypublic static void prin

2014-05-19 23:44:23 288

转载 行为型模式2:备忘录模式

定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态类型:行为类类图:        我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来

2014-05-18 22:44:45 300

转载 行为型模式1:中介者模式

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构       中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子

2014-05-18 22:38:44 322

转载 创建型模式专题总结(Creational Pattern)

概述创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该如何使用创建型模式。为什么需要创建型模式所有的创建型模式都有两个永恒的主旋律:第一,它们都将系统使用哪些具体类的信息封装起来;第二,它们隐藏了这些类的实例是如何被创建和组织的。外界对于这些对象只知道它们共同

2014-05-17 00:17:08 306

转载 创建型模式5:工厂方法模式(Factory Method)

概述在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。意图定义一个用户创建对象的接口,让子类决定实例化哪一个类。Factory M

2014-05-17 00:14:38 352

转载 创建型模式4:原型模式(Prototype Pattern)

概述在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化?意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。结构图Prototype模式结构图生活中的例子

2014-05-08 23:23:16 317

转载 SQL查找删除重复行

本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题)如何查找重复行        第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本

2014-05-07 23:33:54 278

转载 创建型模式3:建造者模式(Builder Pattern)

概述在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。本文通过现实生活中的买KFC的例子,

2014-05-07 23:28:24 293

转载 创建型模式2:抽象工厂模式(Abstract Factory)

概述在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。模型图逻辑模型:物

2014-05-06 00:37:20 296

转载 创建型模式1:单例模式(Singleton Pattern)

概述Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了独一

2014-05-06 00:32:50 346

转载 struts2 标签的使用之二 s:iterator

struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:s:iterator 标签有3个属性:    value:被迭代的集合    id   :指定集合里面的元素的id    status 迭代元素的索引1:jsp页面定义元素写法 数组或list"{'1','2','3','4','5'}" id='nu

2014-04-19 14:58:39 311

转载 struts2 标签库 介绍

struts2.0里的标签没有分类,只用在jsp头文件加上就能使用struts2 的标签库下面就介绍下每个标签的用法介绍 :A:-----超链接,类似于html里的-----执行一个view里面的一个action-----如果action的errors有值那么显示出来-----如果action的message有值那么显示出来-----添加一个值到list

2014-04-16 18:35:10 343

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除