跳转到主要内容


developerWorks 中国  >  Java technology  >  

文档库

developerWorks
 
  
 
 题目  55    隐藏内容简介    
 
题目 日期
Jive 中的设计模式
Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN 公司的 JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常精炼, 适用于中小型网站, 建立自己的论坛系统. 这篇文章我们就一起来看一看 Jive 中所应用的设计模式(Design Pattern).
    2001年6月22日  
 
用设计模式的思想来定制Java中的事件
随着JAVA的迅猛发展,JDK版本的不断更新,JAVA新的事件模型与旧的JDK模型也有了本质的区别,它的事件模型也有了很大的区别。由于现在的编程都是采用事件驱动,所以很有必要了解的事件模型,我们下面从定制事件的实际出发来具体讨论。
    2001年7月6日  
 
在 Java 中应用设计模式 -- Singleton
本文介绍了设计模式中 Singleton 的基本概念,对其功能和用途进行了简单的分析,列出了通常实现 Singleton 的几种方法,并给出了详细的Java 代码.
    2001年8月5日  
 
在 Java 中应用设计模式 - Factory Method
设计模式中,Factory Method也是比较简单的一个,但应用非常广泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式的影子,它是最重要的模式之一.在很多地方我们都会看到xxxFactory这样命名的类,那么,什么是Factory Method,为什么要用这个模式,如何用Java语言来实现该模式,这就是本文想要带给大家的内容.
    2001年9月6日  
 
从 Java 类库看设计模式,第一部分
在这一部分的内容中,介绍的是一个相对简单但功能强大的模式:Observer模式。希望通过这部分地叙述,大家看了之后,能够对设计模式有一个比较全面地,感性的认识。
    2002年1月18日  
 
从 Java 类库看设计模式,第二部分
这部分及以后的内容,将会步入正题,从Java类库的分析入手,来阐叙设计模式是如何应用到一个完美的设计中的。实际上,Java类库非常的庞杂,这儿不可能把所有能够找到的设计模式的例子一一列举,只是找了一些容易发现的例子。实际上也没有必要,因为只要对一个设计模式有足够的理解,对于它的具体应用而言,倒是一件不是很困难的事情。
    2002年1月18日  
 
从 Java 类库看设计模式,第三部分
主要介绍几个结构型的模式如 Bridge 模式和 Decorator 模式。对于Bridge模式可能需要更多的理解,因为它在很大程度上说,例示了设计模式的基本的设计思路和原则。
    2002年1月25日  
 
从 Java 类库看设计模式,第四部分
紧接第三部分,主要介绍结构型 Composite 模式和两个行为模式 Observer 与 Command。
    2002年1月29日  
 
从Java类库看设计模式(5)
有了前面诸多设计模式的基础,这儿可以提出一个比较特殊的模式MVC。MVC并不属于GOF的23个设计模式之列,但是它在GOF的书中作为一个重要的例子被提出来,并给予了很高的评价。一般的来讲,我们认为GOF的23个模式是一些中级的模式,在它下面还可以抽象出一些更为一般的低层的模式,在其上也可以通过组合来得到一些高级的模式。MVC就可以看作是一些模式进行组合之后的结果(实际上,MVC的出现要早于设计模式的提出,这而只是对它在设计模式的基础上进行在分析)。如果没有前面的基础,理解MVC或许会有一些困难。
    2002年2月5日  
 
使用设计模式改善程序结构(一)
设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导、简化你的设计,最终将会导出一个优秀的解决方案。
    2002年3月26日  
 
使用设计模式改善程序结构(二)
在本系列的第一篇文章中,描述了如何通过设计模式来指导我们的程序重构过程,并且着重介绍了设计模式意图、动机的重要性。在本文中我们将继续上篇文章进行讨论,这次主要着重于设计模式的适用性,对于设计模式适用性的掌握有助于从另一个不同的方面来判断一个设计模式是否真正适用于我们的实际问题,从而做出明智的选择。
    2002年4月9日  
 
使用设计模式改善程序结构(三)
设计模式在某种程度上确实能够改善我们的程序结构,使设计具有更好的弹性。也正是由于这个原因,会导致我们可能过度的使用它。程序结构具有过度的、不必要的灵活性和程序结构没有灵活性一样都是有害的。
    2002年4月23日  
 
WebSphere Business Component Composer中的 MVC 设计模式
本文是讲解运用IBM Branch Transformation Toolkit for WebSphere Studio(以前称为WebSphere Business Components Composer)进行业务应用程序设计的一系列文章(共四篇)中的第一篇。
    2003年9月25日  
 
AOP@Work: 用 AspectJ 增强设计模式, 第 2 部分
Nicholas Lesiecki 用这篇深入研究观察者(Observer)模式的文章,继续他对使用面向方面技术实现设计模式的好处的讨论。他演示了 AspectJ 如何使复杂的模式转换成可重用的基本方面,从而使框架作者能够支持预先构建的模式库,供开发人员使用这些模式。
    2005年7月18日  
 
AOP@Work: 用 AspectJ 增强设计模式,第 1 部分
设计模式长期以来一直是一些经验丰富的开发人员的工具箱的重要组成部分。不幸的是,因为模式可以影响多个类,所以它们也是侵入性的、难于使用(和重用)。本文是 AOP@Work 系列的第 3 部分,是一篇由两部分组成的文章,在这篇文章中,Nicholas Lesiecki 将介绍 AOP 是怎样通过根本转变模式实现来解决这一问题的。他研究了三个经典的 Gof 设计模式 (适配器模式、修饰器模式和观察者模式),同时还将讨论使用面向方面技术实现这些模式所带来的实践和设计方面的好处。
    2005年7月18日  
 
架构性宣言: MIDP 2.0 中的工厂设计模式
这个月将学习有关 MIDP 2.0 的更多知识,同 Mikko 一起观察 Mobile Information Device Profile (MIDP) 的通用连接器框架 —— 工厂设计模式
    2006年3月13日  
 
架构宣言: MIDP 开发中的 MVC 设计模式
学习如何在 MIDP 用户界面开发中使用模式—视图—控制器(Model-View-Controller)模式。首先介绍 MVC 模式的结构概况,然后考虑如何将它应用于现实生活中。
    2007年9月3日  
 
应用设计模式编写易于单元测试的代码
单元测试是软件开发的一个重要组成部分,通过在软件设计、开发的过程中合理地运用设计模式,不但为系统重构、功能扩展及代码维护提供了方便,同时也为单元测试的实施提供了极大的灵活性,可以有效降低单元测试编码的难度,更好地保证软件开发的质量。
    2008年7月22日  
 
developerWorks 图书频道: 西游记、设计模式与 IBM WebSphere Portal 应用开发,第 3 章
本书借助《西游记》中众多耳熟能详的小故事,以借喻的手法阐释了《设计模式》一书中所阐述的 23 个设计模式的精髓。同时还提供了详细的 Java Portlet 规范 1.0 的中文译本供读者学习参考,并指导用户基于 IBM WebSphere Portal 开发功能丰富多样的 Portal 应用,使读者在熟悉 IBM WebSphere Portal 应用开发的同时,进一步理解设计模式
    2009年5月26日  
 
developerWorks 图书频道: 西游记、设计模式与 IBM WebSphere Portal 应用开发,第 4 章
本书借助《西游记》中众多耳熟能详的小故事,以借喻的手法阐释了《设计模式》一书中所阐述的 23 个设计模式的精髓。同时还提供了详细的 Java Portlet 规范 1.0 的中文译本供读者学习参考,并指导用户基于 IBM WebSphere Portal 开发功能丰富多样的 Portal 应用,使读者在熟悉 IBM WebSphere Portal 应用开发的同时,进一步理解设计模式
    2009年5月26日  
 
developerWorks 图书频道: 西游记、设计模式与 IBM WebSphere Portal 应用开发,第 7 章
本书借助《西游记》中众多耳熟能详的小故事,以借喻的手法阐释了《设计模式》一书中所阐述的 23 个设计模式的精髓。同时还提供了详细的 Java Portlet 规范 1.0 的中文译本供读者学习参考,并指导用户基于 IBM WebSphere Portal 开发功能丰富多样的 Portal 应用,使读者在熟悉 IBM WebSphere Portal 应用开发的同时,进一步理解设计模式
    2009年5月26日  
 
java 设计模式201:超越四人组
您可以在本教程中发现,到底还有多少设计模式您不知道。首先,我们会探讨一些资源,学习设计模式的新手通常会忽略它们。这些资源为各种计算领域(如商业应用程序、Web 应用程序,甚至 Web 设计)提供了极为有用的模式。
    2002年6月14日  
 
Java 设计模式 101
设计模式以系统的方式获取一些软件开发专家的经验,提供一些常见的反复出现问题和解决方案以及这些方案的结果。本教程说明了:为什么模式在面向对象设计和开发中是有用的和重要的;如何对模式进行编制文档、分类和编目;何时应该使用模式;以及有哪些 重要的模式和如何实现它们。
    2008年8月6日  
 
Factory Method模式在Javamail中的应用
设计模式在软件工程中占有重要地位,而JavaMail是Java平台的一个扩展,为管理电子邮件提供了统一的应用编程接口。本文讨论Factory Method设计模式在Javamail中的应用。
    2001年9月11日  
 
Java 理论与实践: 应该在下一个企业应用程序中使用 JMS 吗?
欢迎来到Java 理论与实践专栏,这是由经验丰富的 Java 开发人员 Brian Goetz 撰写的一个新的专栏月刊。本专栏旨在探索设计原则如何满足解决实际问题的需求这一难以捉摸的结合点。每个月我们都将探索设计模式、可靠软件设计的原则以及为什么“最佳实践”是最好的,同时也关注如何将它们应用于实际问题。这个月,Brian 讨论企业消息排队技术。最近几年,开发人员可以更广泛地得到企业消息排队(MQ)产品。适当地使用 MQ 技术经常可以改善应用程序的组织、性能和可伸缩性。Java 消息服务(Java Message Service (JMS))是集成到 J2EE 中的一部分,它使得 MQ 服务可以为任何 J2EE 应用程序所用。在本文(也是本专栏系列的第一部分)中,Brian 概述了在 Java 应用程序中使用消息排队的一些好处,并探讨了能够从 MQ 技术中获益最大的问题类型。请在论坛上(或者通过单击本文顶部或底部的讨论)同作者及其他读者分享您对本文的想法。
    2002年2月23日  
 
基于JDBC的数据库连接池高效管理策略
在基于JDBC的数据库应用开发中,数据库连接的管理是一个难点,因为它是决定该应用性能的一个重要因素。本文在对数据库连接进行透彻分析的基础上,提出并实现了一个高效的连接管理策略,使得开发高性能的数据库应用变得相对容易。特别是,对于连接管理中的两个难点:事务和多线程问题进行了深入的剖析,并给出了一个基于设计模式的解决方案。
    2002年3月12日  
 
Java 技术:品味“Bitter Java”
设计模式对软件开发来说很重要,这一点从它在技术贸易新闻中所占的数量就可见一斑。不过,鉴于其在开发过程中的实用性,设计模式只解决了问题的一半。反模式 ― 描述“对产生绝对负面结果的问题的一种常用解决方案” ― 旨在通过向 Java 程序员展示如何避免常见的 Java 陷阱来解决问题的另一半。Bruce Tate 是一位反模式专家,也是撰写 Bitter Java 一书的知名作者,他在本文中说明了反模式如何及为什么会成为设计模式必需的和补充的伴侣。
    2002年3月21日  
 
Factory 模式的优点
最常见的构造一个Object 的方法是通过构造函数. 例: String strTemp = new String('Hello World');其实还有一种一种更灵活的创建Object 的方式---利用Factory 模式. 这是著名的'四人帮'(Gangs Of Four)的经典之作'设计模式'[(Design Pattern) 所记载的23模式之一. 它有着构造函数不可比拟的一些优点.
    2002年6月4日  
 
JXTA Platform JAVA参考实现源代码分析系列文章(1)
本文的主要目标是分析初始对等系统是如何构建的,及为什么这么构建(How and Why)。为了确保作者的思路集中使目标得以实现,在此基础上的各种服务,及端点协议的实现只能作为一种抽象的概念来阐述。另外,平台实现时所采用的设计模式只会提及名称,而不会去分析。该系列文章的其他章节将会把他们分为不同的目标逐个阐述。
    2002年6月6日  
 
Observer模式在J2EE中的实现
设计模式是经验的文档化。它是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。更通俗的来说,它是一个问题/解决方案对。一旦我们掌握了设计模式,就等于拥有了一支强有力的专家队伍。它甚至能够使面向对象的新手利用前人的经验找出职责明确的类和对象,从而获得优雅的解决方案。
    2002年6月21日  
 
EJB 最佳实践:改进远程对象设计
在这一新系列文章中,您将学习如何最佳设计和优化 Enterprise JavaBeans 组件、如何减少 RMI 通信和 JNDI 访问以及最有效地使用企业应用程序。在每篇技巧文章中,企业 Java 编程方面的主要权威人士 Brett McLaughlin 将提供最佳实践或设计模式。许多技巧文章将建立在前面的文章之上。建议您按顺序阅读这些技巧文章,因为它们将帮助您构建有助于您自己的企业应用程序编程的策略和设计方法。在本篇(也是第一篇)技巧文章中,Brett 演示了业务接口模式如何能够改进远程对象设计。
    2002年11月8日  
 
使用模仿对象进行单元测试
模仿对象(Mock object)是为起中介者作用的对象编写单元测试的有用方法。在本文中,软件顾问 Alexander Day Chaffee 和 William Pietri 将演示一种重构技术,该技术根据工厂方法设计模式来创建模仿对象。
    2003年3月21日  
 
JDBC 查询日志变得简单
JDBC java.sql.PreparedStatement接口的简单扩展可以使查询日志更少犯错,同时整理您的代码。在本文中,作者向您介绍如何应用基本的封装技术(“通过封装来实现扩展”也称为Decorator设计模式)来获得最满意的结果。
    2003年7月17日  
 
JDBC 查询日志变得简单
JDBC java.sql.PreparedStatement接口的简单扩展可以使查询记录更少犯错,同时整理您的代码。在本文中,IBM电子商务顾问Jens Wyke向您介绍如何应用基本的封装技术(“通过封装来实现扩展”也称为Decorator设计模式)来获得最满意的结果。
    2003年7月17日  
 
高级 DAO 编程
J2EE 开发人员使用数据访问对象(Data Access Object DAO)设计模式,以便将低级别的数据访问逻辑与高级别的业务逻辑分离。实现 DAO 模式涉及比编写数据访问代码更多的内容。在本文中,Java 开发人员 Sean C. Sullivan 讨论了 DAO 编程中三个常常被忽略的方面:事务界定、异常处理和日志记录。
    2003年10月15日  
 
为 Web 服务构建 Struts 应用程序
本文向您展示了如何在模型-视图-控制器(MVC)设计模式的基础上来构建 Web 服务应用程序。
    2003年12月29日  
 
AOP@Work: AOP 和元数据:完美的匹配,第 1 部分
在这篇由两个部分组成的系列文章的第 1 部分中,作者 Ramnivas Laddad 将对新的元数据功能进行概念性介绍,并展示在加入了元数据注释后,AOP 可以在什么地方获得最大的好处。然后他将分五步完成一个设计改造,从一个无元数据的 AOP 实现开始,最终得到一个结合了 Participant 设计模式与注释者-供应者(annotator-supplier)方面的 AOP。
    2005年3月28日  
 
实战 Groovy: 用 curry 过的闭包进行函数式编程
本文中,作者介绍了如何对标准的闭包(例如闭包复合和 Visitor 设计模式)进行 curry 处理。curry() 方法是由 Haskell Curry 发明的,在 JSR 标准发布之前就已经在 Groovy 语言中了。
    2005年9月21日  
 
使用 JSF 架构进行设计
本文中,作者 Anand Joshi 使用 JSF 框架中的设计模式阐释了 JavaServer Faces (JSF) 体系结构。他讨论了 JSF 体系结构中使用的 GoF 设计模式,以及这些模式在 JSF 框架中的作用。任何对设计模式和 JSF 体系结构有一定了解的人都能从 Anand 详细的介绍中有所收获。
    2006年1月16日  
 
使用 Ajax 调用 SOAP Web 服务,第 1 部分: 构建 Web 服务客户机
本文介绍如何使用异步 JavaScript 和 XML (Asynchronous JavaScript and XML, Ajax) 设计模式来实现基于 Web 浏览器的 SOAP Web 服务客户机。
    2006年1月16日  
 
使用 Ajax 调用SOAP Web 服务,第 2 部分: 扩展 Web 服务客户机
使用 Asynchronous JavaScript and XML (Ajax) 设计模式实现基于 Web 浏览器的 SOAP Web 服务。在本系列的第 1 部分 中,作者引入了一个简单的用于调用 SOAP Web 服务的基于 Web 浏览器的 JavaScript 库。在第 2 部分中,作者将实现对 Web 服务寻址语言 (Web Services Addressing Language) 和 Web 服务资源框架 (Web Services Addressing Language) 规范的支持,以便扩展 JavaScript 库的功能。
    2006年5月25日  
 
数据校验器架构模式组
本文阐述软件架构与设计模式,它为架构师和开发人员提供了一组关于数据校验的架构模式(隔离校验器,可组装校验器,动态策略校验器,动态注册校验器等),数据校验是任何类型的开发中都不可或缺的环节,如果没有统一的架构,可能校验代码会遍布整个应用,如何将数据校验与应用逻辑解耦,如何适应各种粒度的数据和各种复杂程度业务规则,正是本文要探讨的。
    2007年1月15日  
 
探索 Java 同步机制
本文从典型的 Monitor Object 设计模式入手,从一个新的视角,来探讨 Java 语言的同步机制。
    2008年12月26日  
 
分析 JUnit 框架源代码
本文细致地描述了 JUnit 的代码实现,在展示代码流程 UML 图的基础上,详细分析 JUnit 的内部实现代码的功能与机制,并在涉及相关设计模式的地方结合代码予以说明。另外,分析过程还涉及 Reflection 等 Java 语言的高级特征。
    2009年5月31日  
 
演化架构与紧急设计: 语言、表达性与设计:第 1 部分
发现和积累惯用模式的能力对于紧急设计至关重要。对于设计而言同样十分重要的是代码的表达性。在本系列文章中,Neal Ford 分两部分介绍了表达性和模式的交集,通过惯用模式和正式设计模式阐释了这些概念。他用动态语言为 JVM 重构了一些经典的四人组(Gang of Four)模式,以说明表达性更好的语言如何使您看到被透明度不佳的语言遮挡的设计元素。
    2009年9月10日  
 
演化架构与紧急设计: 语言、表达性与设计:第 2 部分
发现和积累惯用模式的能力对于紧急设计至关重要。对于设计而言同样十分重要的是代码的表达性。在本 系列文章的第 2 部分中,Neal Ford 将继续讨论表达性和模式的交集,通过惯用模式和正式设计模式阐释这些概念。他用动态语言为 JVM 重构了一些经典的四人组(Gang of Four)模式,以说明表达性更好的语言如何使您看到被透明度不佳的语言遮挡的设计元素。
    2009年10月27日  
 
界面组装器模式
本文提出了一种界面设计中的架构模式-界面组装器模式,它致力于分解界面,将界面和组装行为解耦,将界面逻辑处理与领域逻辑处理解耦,这样我们在开发GUI胖客户端界面应用时可以从众多的界面控制管理中解脱出来,而专注于我们的后台业务逻辑的开发。通过该模式,我们可以动态地组装我们的界面,我们甚至还可以在我们的界面中轻松地插入 transaction 事务或 session 会话管理。
    2006年6月1日  
 
追求代码质量: 谨防紧密耦合!
我们知道紧密耦合的代码不是个好现象,因此要在设计中尽量避免它 —— 但问题是如何才能避免紧密耦合呢。这个月,我们将学习如何识别一个系统是否有紧密耦合的问题,然后使用依赖性倒置原则解开这种紧密耦合。
    2007年6月14日  
 
基于 Java 的界面布局 DSL 的设计与实现
界面设计应该是一项充满创造性、富有乐趣的工作,但是却往往被认为非常的枯燥和繁琐。究其原因,是因为界面布局领域所采用的描述概念和具体的实现语言之间存在很大的语义隔阂。而一般的界面开发工具提供的所见即所得以及界面布局管理器等方案也无法很好地解决这个问题。本文介绍了一种专门用于描述高层界面设计样式的语言。通过这种语言,界面设计者可以直接、明确地描述出他们头脑中的布局设计样式,还可以方便地、灵活地制定自己需要的布局样式。此外,文中给出的设计思想对于其他领域的设计也有很好的借鉴作用。
    2007年9月11日  
 
让开发自动化: 持续重构
重构是公认的改进现有代码的好方法。然而,如何通过一种一致且可重复的方式找到需要重构的代码呢?本期的让开发自动化将教您如何使用静态分析工具来识别需要重构的代码味道,并举例说明了如何改进坏味道代码。
    2008年7月31日  
 
让开发自动化: 实现自动化数据库迁移
数据库通常不能够与它们支持的应用程序保持同步,从管理方面来讲,将数据库和数据置于一个已知状态是个很大的挑战。在本期的 “让开发自动化” 中,自动化专家 Paul Duvall 演示了如何使用开源的 LiquiBase 数据库迁移工具轻松地处理数据库和应用程序的频繁变更。
    2008年9月2日  
 
通用条件逻辑可视化开发框架设计
随着软件应用与领域业务结合日益紧密,业务软件开发对可视化编程依赖性亦愈发突出,传统 IDE 的设计理念使得基于 IF/Else 条件逻辑的支持不够完善,随需而变的客户要求使得该问题亦日益严峻。本文从传统 IDE 难以支持条件表达逻辑元素角度出发,提出建立支持 VIE(Visual IF/Else) 的独立应用框架的想法,以及重用已有的编程元素来表达新的条件逻辑的思路;提出了分层框架的体系结构,以及指导实际设计开发的概念模型和实现模型;并开发了概念模型框架和基于 InstallShield 的实现模型,以及用于演示的 Demo。
    2008年11月20日  
 
Domino 的业务域驱动 Java 类的层次结构
如果您正使用 Domino Java 类开发 Domino 应用程序,那么向您推荐一个实践,即在一个公共基类集合中封装技术性 Domino 数据库实现的细节,并构建业务域驱动 Java 类的层次结构。
    2004年12月23日  
 
监控业务系统数据库连接
J2EE 服务器一般提供了数据库连接池活跃连接个数的信息,但难以提供连接的细节、执行的 SQL 语句以及是否产生锁等信息。一旦发生不稳定现象,开发人员容易归咎于应用服务器。本文分析了业务模块如何导致系统级别的问题,并提出了实时监控数据库连接细节并准确定位异常所在模块的方法,以方便排除业务模块问题。读者可以增强对于系统问题分析和解决的能力,并能够明确如何分析和解决业务系统问题,而不是简单认为时应用服务器平台不够稳定造成的。同时,对 Java 核心 API 及 Proxy 技术的理解也将进一步增强。
    2006年10月10日  
 
理解 pureQuery,第 2 部分: 协助类建模器实现数据建模
学习 pureQuery 的特性如何帮助面向对象开发人员使用传统的类建模来定义一组数据库关系工件。
    2008年2月25日  
 
 题目  55    隐藏内容简介    
 
没有找到您想要的结果吗? 提交反馈