- 浏览: 240009 次
- 来自: ...
最新评论
文章列表
定義:將兩個不相容的類別糾合在一起使用,屬於結構型模式,需要有Adaptee(被適配者)和Adaptor(適配器)兩個身份。 爲何使用?我們經常碰到要將兩個沒有關係的類別組合在一起使用,第一解決方案是:修改各自類別的介面,但是如果我們沒有源代碼,或者,我們不願意爲了一個應用而修改各自的介面。 怎麽辦? 使用Adapter,在這兩種介面之間創建一個混合介面(混血兒)。 如何使用?實現Adapter方式
- 2004-06-24 19:52
- 浏览 406
- 评论(0)
理解並使用設計模式,能夠培養我們良好的面向物件編程習慣,同時在實際應用中,可以如魚得水,享受遊刃有餘的樂趣。 Proxy是比較有用途的一種模式,而且變種較多,應用場合覆蓋從小結構到整個系統的大結構,Proxy是代理的意思,我們也許有代理伺服器等概念,代理概念可以解釋爲:在出發點到目的地之間有一道中間層,意爲代理。 設計模式中定義: 爲其他物件提供一種代理以控制對這個物件的訪問。 爲什麽要使用Proxy?1.授權機制 不同級別的用戶對同一物件擁有不同的訪問權利,
- 2004-06-24 19:51
- 浏览 452
- 评论(0)
Facade的定義: 爲子系統中的一組介面提供一個一致的介面。 Facade一個典型應用就是資料庫JDBC的應用,如下例對資料庫的操作:
public class DBCompare { Connection conn = null; PreparedStatement prep = null; ResultSet rset = null; try { Class.forName( "<driver>" ).newInstance(); conn = DriverManager.getConnection( "<da ...
- 2004-06-24 19:50
- 浏览 521
- 评论(0)
Builder模式定義:將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 Builder模式是一步一步創建一個複雜的物件,它允許用戶可以只通過指定複雜物件的類型和內容就可以構建它們。用戶不知道內部的具體構建細節。Builder模式是非常類似抽象工廠模式,細微的區別大概只有在反復使用中才能體會到。 爲何使用?是爲了將構建複雜物件的過程和它的部件解耦。注意: 是解耦過程和部件。 因爲一個複雜的物件,不但有很多大量組成部分,如汽車,有很多部件:車輪 方向盤 發動機
- 2004-06-24 19:49
- 浏览 448
- 评论(0)
定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,如果你要把这个数字永久保存到数据库,你可以在不修改单态接口的情况下方便的做到。 另外方面,Singleton也能够被无状态化。提供工具性质的功能,Singleton模式就为我们提供了这样实现的可能。使用Sing ...
- 2004-06-24 19:49
- 浏览 245
- 评论(0)
定義:用原型實例指定創建物件的種類,並且通過拷貝這些原型創建新的物件。 Prototype 模式允許一個物件再創建另外一個可定制的物件,根本無需知道任何如何創建的細節,工作原理是:通過將一個原型物件傳給那個要發動創建的物件,這個要發動創建的物件通過請求原型物件拷貝它們自己來實施創建。 如何使用?因為 Java 中提供的 clone() 方法來實現物件的克隆(具體瞭解clone()按這裏),所以 Prototype 模式實現一下子變得很簡單。 以勺子為例: public abstract class AbstractSpoon implements Cloneable{ String spoo ...
- 2004-06-24 19:48
- 浏览 510
- 评论(0)
定义:提供创建对象的接口. 为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。 为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。 我们以类Sample为例, 如果我们要创建Sample的实例对象: Sample sample=new Sample(); 可是,实际情况是, ...
- 2004-06-24 19:47
- 浏览 566
- 评论(0)
做项目的总有成功和失败,成功了需要总结,失败的更需要总结。以下要说的一个 Case 是我经历过的一个失败的项目,写出来,大家指点一下。首先介绍一下背景,这个项目的客户是企业内部顾客,应用的范围是为用户收集第三方的意见与建议提供一个渠道和工具,并给 Manager 层的领导提供必要的信息视图,以方便直观地掌握问题的种类和问题的数量。项目在启动以前,用户曾打过我谈,说他们在别的分公司看到了一套系统,非常适合他们应用,希望能移植过来,并希望越快搭建越好。考虑到用户对该系统需求的紧迫性,我们做了初步评估行动:[] 与分公司熟悉系统的人进行初步了解,弄清楚系统的设计背景以及应用情况,得知本地客户需要的系统 ...
- 2004-06-24 19:21
- 浏览 499
- 评论(0)
以下是Google最新推出的非常实用贴心的个性化需求搜索服务小功能:
? 中英文字典? 天气查询? 股票查询? 邮编区号? 手机号码(归属地查询) Google 简体中文界面的股票,天气,邮编区号和手机号码查询功能仅适用于中国大陆地区.Google与所选的特殊搜索链接网站没有从属关系.
这些合作指向站点被Google选中,应该是一件值得自豪的事情吧?
- 2004-06-24 19:02
- 浏览 550
- 评论(0)
Struts 和 Turbine 我都用过并且做过项目,我想在这个问题上我还是有点发言权的:-)Struts 比 Turbine 的结构简单多了,换而言之,Struts 是一个非常纯的 Web Framework,它也仅仅只是一个 Framework.Struts 的官方定义中说了其符合 MVC,我并不是非常 ...
- 2004-06-24 18:49
- 浏览 575
- 评论(0)
编者按:当作者 Chuck Cavaness(著有《Programming Jakarta Struts》一书)所在的网络公司决定采用Struts框架之后,Chuck曾经花费了好几个月来研究如何用它来构建公司的应用系统。本文叙述的正是作者在运用Struts过程中来之不易的若干经 ...
- 2004-06-24 18:48
- 浏览 465
- 评论(0)
了解MVC架构对于用Struts构建的强大的Web应用程序很重要Struts是雅加达的一个项目,它提供了一个方法,可以在一个Web应用程序中一起使用JavaServer Pages(JSP)和servlets。它的目的是要解决完全由JSP或完全由servlet实现的应用程序中的 ...
- 2004-06-24 18:48
- 浏览 356
- 评论(0)
1. 介绍1.1 Model-View-Controller (MVC) 设计模式FIXME - 需要一个对该模式一般性的介绍。(译注:可以参考机械工业出版社的《设计模式》。) 1.2 将MVC概念映射到Struts组件中Struts 的体系结构实现了Model-View-Controller设计模式的概念,它将 ...
- 2004-06-24 18:47
- 浏览 323
- 评论(0)
Struts原理、开发及项目实施Holen 2002-9-121、 摘要2、 关键词3、 Framework4、 Struts的起源5、 Struts工作原理6、 Struts安装7、 一个实例8、 Struts优缺点9、 Struts项目实施经验10、 总结11、 参考文献1、 摘要本文主要讲述了Struts(以Struts1.0.2 ...
- 2004-06-24 18:46
- 浏览 481
- 评论(0)
Struts的体系结构(Struts Framework Architecture)胡长城(银狐999)关键字Struts,Framework,Architecture,Componennt,MVC预备知识在开始学习Struts以前,以下的知识点,需要有所了解: 模型-视图-控制的软件构架模式,JSP/Servlet的web层应用,J2EE体系结构。如果对客户标签类(Customer TagLib)有所了解也许更容易理解Struts本身的TagLib。 概述本文主要从概念上讲解什么是struts framework,它的框架结构,组件结构,以及简单的配置讲解。对于其应用请参考后面的“stru ...
- 2004-06-24 18:45
- 浏览 501
- 评论(0)