- 浏览: 40897 次
- 性别:
- 来自: 湖南
-
最新评论
文章列表
一、什么是享元模式
Flyweight模式也叫享元模式,是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。
二、享元模式的结构
三、享元模式的角色和职责
抽象享元角色:
所有具体享元类的父类,规定一些需要实现的公共接口。
具体享元角色:
抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。
享元工厂角色:
负责创建和管理享元角色。
package com.dw.test;
/*抽象享元角色:
所有具体享元类的父类,规定一些需要实现的公共接口。
具体享元角色:
抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。*/
public cla ...
- 2014-11-20 16:19
- 浏览 230
- 评论(0)
一、什么是观察者模式
Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。Observer模式提供给关联对象一种同步通信的
手段,使某个对象与依赖它的其他对象之间保持状态同步。
二、观察者模式的结构
三、观察者模式的角色和职责
Subject(被观察者)
被观察的对象。当需要被观察的状态发生变化时,需要通知队列中所有观察者对象。Subject需要维持(添加,删除,通知)一个观察者对象的队列列表。
ConcreteSubject被观察者的具体实现。包含一些基本的属性状态及其他操作。
Observer(观 ...
- 2014-11-20 16:08
- 浏览 249
- 评论(0)
一、什么是策略模式
Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换。
二、策略模式的结构
三、策略模式的角色和职责
Strategy:
策略(算法)抽象。
ConcreteStrategy各种策略(算法)的具体实现。
Context策略的外部封装类,或者说策略的容器类。根据不同策略执行不同的行为。策略由外部环境决定。
package com.dw.test;
...
- 2014-11-20 15:47
- 浏览 355
- 评论(0)
一、什么是装饰模式
装饰(Decorator)模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。
二、装饰模式的结构
三、装饰模式的角色和职责
抽象组件角色:一个抽象接口,是被装饰类和装饰类的父接口。
具体组件角色:为抽象组件的实现类。
抽象装饰角色:包含一个组件的引用,并定义了与抽象组件一致的接口。
具体装饰角色:为抽象装饰角色的实现类。负责具体的装饰。
package com.dw.test;
//抽象组件角色: 一个抽象接口,是被装饰类和装饰类的父接口。
public abstract class Car {
...
- 2014-11-20 15:23
- 浏览 305
- 评论(0)
一、什么是建造者模式
Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。
二、建造者模式的结构
三、建造者模式应用场景
- 对象的创建:Builder模式是为对象的创建而设计的模式
- 创建的是一个复合对象:被创建的对象为一个具有复合属性的复合对象
- 关注对象创建的各部分的创建过程:不同的工厂(这里指builder生成器)对产品属性有不同的创建方法
package co ...
- 2014-11-20 15:11
- 浏览 332
- 评论(0)
一、什么是原型模式
Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。
二、原型模式的特点
1. 由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。
2.目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。
3.根据对象克隆深度层次的不同,有浅度克隆与深度克隆。
三、原型模式应用场景
- 在创建对象的时候,我们不只是希望被创建的对象继承其基类的基本结构,还希望继承原型对象 ...
- 2014-11-20 14:59
- 浏览 352
- 评论(0)
一、什么是单例模式
单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。
其实,GoF对单例模式的定义是:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。
二、为什么要使用单例模式呢?
在应用系统开发中,我们常常有以下需求:
-在多个线程之间,比如servlet环境,共享同一个资源或者操作同一个对象
-在整个程序空间使用全局变量,共享资源
-大规模系统中,为了性能的考虑,需要节省对象的创建时间等等。
因为Singleton模式可以保证为一个类只生成唯一的实例
对象 ...
- 2014-11-20 14:42
- 浏览 298
- 评论(0)
一、什么是抽象工厂模式
抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。
二 ...
- 2014-11-20 11:59
- 浏览 293
- 评论(0)
一、什么是工厂方法模式
工厂方法模式同样属于类的创建型模式又被称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。
二、模式中包含的角色及其职责
1.抽象工厂(Creator)角色
工厂方法模式的核心,任何工厂类都必须实现这个接口。
2.具体工厂(
ConcreteCreator)角色
具体工厂类是抽象工厂的一个实现,负责实例化产品对象 ...
- 2014-11-20 11:52
- 浏览 335
- 评论(0)
折线堆积面积图:
html页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content=&qu ...
- 2014-11-20 11:12
- 浏览 830
- 评论(0)
页面端: function jqchk(){ //jquery获取复选框值
var s='';
$('input[name="zydName"]:checked').each(function(){
s+=$(this).val()+',';
});
if(s.length>0)
{
s=s.substring(0,s.length-1);
location.href="$!webPath/usercenter/show/res/downAll.htm?ids="+s+"&quo ...
- 2014-11-20 10:05
- 浏览 362
- 评论(0)
//全选 全不选
//全选 全不选
$(document).ready(function () {
$("#checkedAll").click(function () {
if ($(this).attr("checked")) { // 全选
$("input[name='zydName']").each(function () {
$(this).attr("checked", true);
});
}else ...
- 2014-11-20 09:50
- 浏览 521
- 评论(0)
使用velocity实现页面静态化可以提高网站的性能,但是生成的静态页面怎么做到实时更新呢?
1、最笨的方式,手动刷新.
例如:网站首页,当管理员更新一个功能之后,手动点击后台的一个按钮直接更新对应的html文件
2、定时刷新。
- 2014-11-19 16:45
- 浏览 1459
- 评论(0)
package com.wwxl.util;
import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.log4j.Logger;
/**
* 静态页面引擎技术
* @author 邓文伟
*
*/
public class HtmlGenerator{
...
- 2014-11-19 16:33
- 浏览 976
- 评论(0)
jackson的json转换
public class JacksonJsonUtil {
/**
* 将java对象转换成json字符串
* @param obj 准备转换的对象
* @return json字符串
* @throws Exception
*/
public static String beanToJson(Object obj) throws Exception {
try {
ObjectMapper objectMapper = new ObjectMapper();
String json =objectMapper.wr ...
- 2014-11-19 14:51
- 浏览 4123
- 评论(0)