- 浏览: 74898 次
- 性别:
- 来自: 成都
最新评论
-
Javaloverlover:
最好能写点使用场景,理论结合实际嘛。1、当类初始化时要消耗非常 ...
Java设计模式之原型模式 -
Javakeith:
写的不错,文章中说在某个的地方用,给个实例就更好了!
Java设计模式之代理模式 -
bobshute:
好.通俗,明了.
Java设计模式之简单工厂模式 -
zengguo1988:
写的不错。
个人博客 欢迎访问: http://zjava ...
Java设计模式之原型模式
文章列表
select * from dba_users t where t.username='JEFF_CORE'
create user jeff_core identified by jeff_core;
grant dba to jeff_core;--授予DBA权限
grant unlimited tablespace to jeff_core;--授予不限制的表空间
grant select any table to jeff_core;--授予查询任何表
grant select any dictionary to jeff_core;--授予 查询 任何字典
...
一、定义
代理模式(Proxy Pattern), 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下
,一个客户不
想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
...
- 2008-04-09 16:36
- 浏览 2156
- 评论(1)
一、适配器模式定义
Adapter,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
二、详细说明
通常,客户类(clients of class)通过类的接口访问它提供的服务。有时,现有的类(existing class)可以提供客户类的功能
需要,但是它所提供的接口不一定是客户类所期望的。这是由于现有的接口太详细或者缺乏详细或接口的名称与客户类所查找的不同等诸多不同原因导致的。
在这种情况下,现有的接口需要转化(convert)为客户类期望的接口,这样保证了对现有类的重用。如果 ...
- 2008-04-09 16:04
- 浏览 1993
- 评论(0)
一、概述
单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。
通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其它实例可以被创建,并且它可以提供一个访问该实例的方法。
二、
一般Singleton模式通常有几种种形式
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。public cl ...
- 2008-04-05 10:51
- 浏览 1338
- 评论(0)
一、原型模式定义
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节。 工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。
二、如何使用
因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单.三、实 ...
- 2008-04-05 10:49
- 浏览 11055
- 评论(2)
一、概述
构造者模式(Builder Pattern):构造者模式将一个复杂对象的构造过程和它的表现层分离开来,使得同样的构建过程可以创建不同的表示,又称为生成器模式。 在软件系统 中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变
化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定 构建算法”不随着需求改变而改变?
如果我们使用了构造者模式,那么用户就只需要指定需要构造的类型就可 ...
- 2008-04-05 10:38
- 浏览 5364
- 评论(0)
一 、抽象工厂模式(Abstract Factory) 抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
抽象工厂(Abstract Factory)模式,又称工具箱(Kit 或Toolkit)模式。
二、创建过程如下
一个具体工厂创建一个产品族,一个产品族是不同系列产品的组合,产品的创建的逻辑分在在每个具体工厂类中。所有的具体工厂继承自同一个抽象工厂。 客户端创建不同产品族的工厂,产品族的工厂创建具体的产品对客户端是不可见的。 增加新的产品族时,需要增加具体工厂类,符合OCP原则。 增加新产品时,需要修改具体工 ...
- 2008-04-05 10:34
- 浏览 1896
- 评论(0)
一 、工厂方法(Factory Method)模式 工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。
工厂方法(Factory Method)模式,又称多态性工厂(Polymorphic Factory)模式或虚拟构造子(Virtual Constructor)模式;二、工厂方法模式角色与结构 抽象工厂(Creator)角色:是工厂方法模式的核心,与应用程 ...
- 2008-04-05 10:33
- 浏览 1463
- 评论(0)
一、概述
简单工厂模式(Simple
Factory),又称静态工厂方法模式,是类的创建模式。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类详细说明如下: 一个具体工厂通过条件语句创建多个产品,产品的创建逻辑集中与一个工厂类。 客户端通过传不同的参数给工厂,实现创建不同产品的目的 增加新产品时,需要修改工厂类、增加产品类,不符合OCP原则
二、具体代码//生产产品的工厂类
public class ProductFactory{
public static Product generateProduct(int which){ ...
- 2008-04-05 10:28
- 浏览 1429
- 评论(1)
自从J2EE出现以来,就大大简化了在Java下的企业级开发。但是随着J2EE越来越普遍地被应用到各个领域中,开发者们渐渐意识到需要一种方法来标准化应用程序的开发过程,他们采用的方法是标准化应用程序的结构层。在 ...
- 2008-04-05 09:02
- 浏览 1544
- 评论(0)
在Trac的官网上有有一篇安装指南,针对Trac0.11版本的。上面可以看到这时0.11的正式版还没有发布,我安装的是0.11b1版的。http://trac.edgewall.org/wiki/TracInstall#TracInstallationGuidefor0.11 一、Trac简介
Trac是一个轻量级的项目管理工具,是一个基于web的应用程序。Trac是用Python语言开发的,需要数据库( SQLite, PostgreSQL, MySQL 等).的支持才能运行。对于HTML渲染,在Trac 0.11版本之前用的是ClearSilver,以后推荐用的是Genshi
二、安装必备 ...
虽然原来也在使用Subversion,但使用的不是http服务器,用的是把svnservice.exe安装成window服务的方式。原来的开发环 境配置一直不统一,这次花的功夫好好弄一下,想搭建一个全部基于开源的Apache+SVN+Trac的配置,希望能给自己不一样的感觉。本文先说 Apache和SVN的集成,下一篇再集成Trac。
安装过程还是有点复杂的,可能是我用的都是最新版本的缘故,网上的好多文章目前没有针对最新版本的,好在大致相当,问题不大。
一.准备安装软件
先下载Http服务器,官方网站为http://httpd.apache.org/ , ...
在我们新建一个RCP应用程序框架时,eclipse会为我们自动生成若干个类:
网上也有很多关于“Hello RCP”的分析说明,但都聚集在类功能分析,没有源代码的分析。下面着重分析一下其中的某些不易理解的类以及其中涉及到的其它 ...
- 2007-12-03 17:01
- 浏览 3231
- 评论(0)
选项板提供了用户选择模型元素,并提供相应的机制把模型和视图加入图形编辑器的能力。
1.选项板(PaletteRoot)的功能
GEF是一个图形编辑框架,它的主编辑区域是一个图形的视图(类似与JFace的Viewer),另外,用户还可以选择选项板上相应的模型,把选择的模型对应的视图加入到图形编辑区域进行编辑。
在GEF中,图形编辑器实现类的getPaletteRoot方法将返回一个PaletteRoot对象,用户可以在PaletteRoot中添加模型选 项入口项(ToolEntry)。例如,在选择板中加入一个连线模型的入口,可以加入“new ConnectionCreationTo ...
- 2007-12-03 16:38
- 浏览 3769
- 评论(0)
为了保证数据和展现的同步,必须要有一种消息通知机制,当模型被修改时通知相应的视图进行更新,下面将介绍如何实现这种消息机制。
1.模型同步的功能
模型是GEF中实体,当模型的属性被修改后,控制器会监听到模型属性改变的事件,然后通知视图进行更新,模型和视图之间没有直接的联系,如下图:
要通过事件的通知机制获得模型同步的步骤如下:
(1)模型中包含注册监听器的机制,本文范例是通过PropertyChangeSupport和PropertyChangeListener机制添加模型监听器。
(2)把控制器注册为模型监听器,在此通过控制器实现PropertyChangeL ...
- 2007-12-03 16:37
- 浏览 2000
- 评论(0)