51CTO博客开发
我自己开发一个笑话网站挑逗一笑就是用springmvcrestful,所有资源都要自己标识,能够从url上清楚定位你需要的内容,比如如下网址http://www.tiaodouyixiao.com/hot/page/4.html,意思是最热笑话第四页内容如何用配置使用springmvcrestful呢第一步:配置web.xml<servlet><servlet-name>a
Runtime.getRuntime().exec("cmd /c del c:\\a.doc"); //Runtime.getRuntime().exec("notepad"); //Runtime.getRuntime().exec("cmd /c start c:\\a.do
先简单介绍一下状态模式:将与状态有关处理逻辑分散到代表对象状态各个类中! 状态之间的改变都对应一个动作,一个动作可能对应多个状态的改变(动作来描述。可能不是特别准确),如提交,审核.... state模式的两个原则: 1.有几个动作就有几个方法,一个动作可能对应多个状态转换,这些方法都定义在同一个接口里。 2.有几个状态就有
GoF对访问者模式定义为:表示一个作用于某对象结构中各元素的操作。它可以使你不修改各元素类的前提下定义作用于这些元素的新操作,也就是动态的增加新的方法。 Visitor模式是一种分离对象数据结构与行为的方法,通过这种分离,可以为一个已存在的类或类群增加新的操作而无需为它们作任何修改。 Visitor模式的优点: - 分离对象的数据结构与行为,让不同的类完成不同的功能 - 可以不
中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 通用类图: 举例:在一个公司里面,有很多部门、员工(我们统称他们互相为Colleague“同事”),为了完成一定的任务,“同事”之间肯定有许多需
1、关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都
命令模式(Command):将一个请求封装成一个对象,使得你用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式,顾名思义来理解即可,就是客户端发布一个命令(也就是“请求”),而这个命令是已经被封装成一个对象的。即这个命令对象的内部可能已经指定了该命令具体被谁负责执行。就像开发经理从客户那边获取对方的
职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 适用场景: 1、有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定; 2、在不明确指定接收者的情况下,向多个对象中的一个提交一个请求; 3、处理一个请求的对象
一、 抽象工厂(Abstract Factory)模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。 为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图: 图中一共有四个产品族,分布于三个不同的产品等级结构中。只要
原型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 当我们已经拥有某个得来不易的宝贝时,往往我们会很想再“变”一些出来,即这个宝贝的“复制品”,这种方式简单又理想,谁都想要学会这项本事。不可能的事情!不过,这种手段在软件设计中是完全可以实现的,在OO中的原型模式就是这样基于思想的。 原型模
代理模式是一种非常重要的设计模式,在Java语言中有着广泛的应用,包括Spring AOP的核心设计思想,都和代理模式有密切关系。 代理模式主要分两种:一种是静态代理,一种是动态代理。两种代理方式的实现有着本质的差异。 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以
引用《软件秘笈-设计模式那点事》书籍: 按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。 创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。 创建型模式用来处理对象的创建过程,主要包含以下5种设计模式: 工厂方法模式(Factory Method Pattern) ɨ
一、FlyWeight模式定义: 运用共享技术有效地支持大量细粒度对象。 二、模式解说 也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。在Flyweight模式中,由于要产生各种各样的对象,所以在Flyweight(享元)模式中常出现Factory模式。Flyweight的内部状态是用来共享的,Flyweight factory负责维
设计模式》一书中对Facade模式的意图是这样叙述的: 为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。通过这个模式我们能够更容易地使用一个复杂的系统,要么只使用系统的一部分功能,要么是以特殊方式使用系统。这里我们的系统就很复杂,但我们只需要使用一部分功能。因此,我们最后得到了一个更简单、更容易使用,或者说按
1 Factory Pattern(工厂模式) 上榜理由:将程序中创建对象的操作,单独出来处理,大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。 2 Facade Pattern 上榜理由:将表现层和逻辑层隔离,封装底层的复杂处理,为用户提供简单的接口,这样的例子随处可见。门面模式很多时候更是一种系统架构的设计,在我所做的项目中,就
装饰模式是对对象功能增强时,平时使用继承的一种替代方案 一.UML示意图: 二.组成部分: 1. 抽象构件:原始的功能接口 2. 具体构件:具体的原始功能类 3.
组合模式(Composite)属于结构性模式,它描述了对象间的组合关系。 对象间常常通过树结构来组织(包含)起来,以实现整体-部分的层次结构。整体上可以看做是一个组合对象。 抛却各种复杂的术语,组合模式的特点是: 对象通过实现(继承)统一的接口(抽象类),调用者对单一对象和组合对象的操作具有一致性。 组合模式很常见,Java的容器类(比如ArrayList)都实现了组合
Bridge模式的概念 Bridge 模式是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 Bridge模式的应用场景 面向对象的程序设计(OOP)里有类继承(
1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:
抛弃偷懒耍滑的恶劣习气、重拾不惧苦累的工作态度、以数据为依托支持自身转型——在本文中,我将与大家共同探讨如何在自己的IT职业生涯中步入正轨、进而登上事业的顶峰 在当下这样一个入职即被套牢、预算永远不足的时代,大家是如何面对自己的既有岗位、又是怎样规划着未来的发展方向呢?希望以下12条箴言能给各位提供一点小小的帮助。 这12条中有一些属于切实可行的操作性建议,大家没准之前
建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 使用建造者模式,用户就只需指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。通常建造者模式用于创建一些复
1.组合模式是整体与部分的关系,一个典型的应用就是树型结构,组合模式可以抽象出三种角色,分别为抽象构建角色(Component)、树枝构建角色(Composite)、树叶构建角色(Leaf). 抽象构建角色:这是一个抽象的角色,它给参加组合的对象规定了统一的接口,给出了公有的接口和行为。 树枝构建角色:代表参加组合的有子类的对象,并给出树枝构建对象的行为。 树叶构建角色:代表参加组合的树
基本组件: xtype Class 描述 button &nbs
句话 将抽象和行为划分开来,各自独立,但能动态的组合。 结构图 图1 Bridge模式结构图 生活中的例子 比如,一杯咖啡为例,子类实现类为四个:中杯加奶、大杯加奶、中杯不加奶、大杯不加奶。这四个类实际是两个角色的组合:抽象和行为,其中抽象为:中杯和大杯;行为为:加奶不加奶(如加橙汁加苹果汁),这就是Bridge模式。 桥接模式解说 以上面提到的咖啡 为例. 我们原来打算只设计一
byte [] gbkbyte =gbktoutf8(字符串); String fullStr = new String(gbkbyte , "utf-8"); public byte[] gbk2utf8(String src) { &nb
可维护性和可复用性是两个独立的目标,就像两只奔跑的兔子,并不总是方向一致的。 对于面向对象的软件系统设计来说,在支持可维护性的同时,提高系统的可复用是一个核心问题。 软件的维护和普通产品的维护不同,它不仅包含清除错误和缺陷,而且包括对已有性能的扩充,以满足新的设计要求。 软件的维护就是软件的再生,一个好的软件设计必须能够允许新的设计要求以比较容易和平稳的方式加入到已有的系统中去,从而使这个系
在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts.properties和web.xml文件中配置,它们的优先级逐步升高,即是说后面的配置会覆盖掉前
开闭原则是设计原则基础的基础,其它原则均围绕开闭原则进行展开。开闭原则也就是一个软件实体应当对扩展开放,但对修改关闭。满足了开闭原则的设计,我们的系统将达到在设计稳定的基础上,方便的对软件进行扩展,插入新的功能模块的目的。 怎么样做的开闭原则呢?抽象化是关键,也是我们经常听到的“面象接口编
1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议中的消息。 (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从A
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号