![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 83
kongji103
这个作者很懒,什么都没留下…
展开
-
IOU 设计模式介绍及应用
IOU(I Owe You)设计模式是一种帮助管理和提高程序并发性的设计模式。该模式构思巧妙、设计灵活、简单直观而且不依赖于任何特定的并发机制,具有普遍的适用性。本文介绍该模式的设计及其 Java 实现,并通过与 Java 动态代理机制的巧妙结合以获得更好的用户体验,最后通过示例帮助读者加深对该模式的理解。原理IOU 思想是人们在处理日常债务关系时行之有效的一种方法,即:转载 2015-11-30 15:29:43 · 822 阅读 · 0 评论 -
Java 设计模式 101
设计模式以系统的方式获取一些软件开发专家的经验,提供一些常见的反复出现问题和解决方案以及这些方案的结果。本教程说明了:为什么模式在面向对象设计和开发中是有用的和重要的;如何对模式进行编制文档、分类和编目;何时应该使用模式;以及有哪些 重要的模式和如何实现它们。关于本教程这个教程适合我吗?本教程是针对那些希望通过学习设计模式来提高自身面向对象设计和开发技能的 Java 程序员的。转载 2015-11-30 15:31:25 · 474 阅读 · 0 评论 -
Spring 框架的设计理念与设计模式分析
Spring 作为现在最优秀的框架之一,已被广泛的使用,并且有很多对其分析的文章。本文将从另外一个视角试图剖析出 Spring 框架的作者设计 Spring 框架的骨骼架构的设计理念,有那几个核心组件?为什么需要这些组件?它们又是如何结合在一起构成 Spring 的骨骼架构? Spring 的 AOP 特性又是如何利用这些基础的骨骼架构来工作的? Spring 中又使用了那些设计模式来完成它的这种转载 2015-11-30 15:35:32 · 204 阅读 · 0 评论 -
从Java类库看设计模式(5)
有了前面诸多设计模式的基础,这儿可以提出一个比较特殊的模式MVC。MVC并不属于GOF的23个设计模式之列,但是它在GOF的书中作为一个重要的例子被提出来,并给予了很高的评价。一般的来讲,我们认为GOF的23个模式是一些中级的模式,在它下面还可以抽象出一些更为一般的低层的模式,在其上也可以通过组合来得到一些高级的模式。MVC就可以看作是一些模式进行组合之后的结果(实际上,MVC的出现要早于设计模式转载 2015-11-30 15:53:56 · 304 阅读 · 0 评论 -
使用 MVC 设计模式的 Dojo Grid
各种技术之间通常具有密切的联系,您在一个领域的知识能帮助您获得另一个领域的技能。本文从介绍模型-视图-控制器(Model-View-Controller,MVC)设计模式的角度介绍 Dojo Grid 的主要功能。本文可以帮助您理解和轻松掌握 Dojo Grid,即使您以前从没使用过它。简介Dojo 是一个可移植的开源 JavaScript 工具包,使用它可以快速构建富客户端 We转载 2015-11-30 15:55:37 · 403 阅读 · 0 评论 -
另外五个 PHP 设计模式
两年前,我们介绍了五个设计模式 —— 本文将介绍另外五个加速 PHP 应用程序开发的设计模式PHP V5 的面向对象特性使您能够实现设计模式来改进代码设计。通过这种方式改进代码设计,代码在进行修改时将变得更加易读、更易维护且更加健壮。设计模式 一书介绍了很多此类概念。当时,我还在学习面向对象 (OO),因此我发现那本书中有许多概念都很难领会。但是,随着越来越熟悉 OO 概念 —转载 2015-11-30 16:15:19 · 185 阅读 · 0 评论 -
在 Java 中应用设计模式 - Factory Method
在设计模式中,Factory Method也是比较简单的一个,但应用非常广泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式的影子,它是最重要的模式之一.在很多地方我们都会看到xxxFactory这样命名的类,那么,什么是Factory Method,为什么要用这个模式,如何用Java语言来实现该模式,这就是本文想要带给大家的内容.基本概念FactoryM转载 2015-11-30 16:19:26 · 196 阅读 · 0 评论 -
从Java类库看设计模式(3)
上一次主要介绍了几个创建型的设计模式AbstractFactroy,FactoryMethod和Singliton。它们的共同的特点,都是用来创建对象的。这次接下来的内容,涉及到的是几个结构型的模式。所谓结构型模式,就是用来解决在创建系统结构的过程中,通过对类或者对象进行合理有效的组合,以获得更大的结构的方法。这儿主要讲到了Bridge模式和Decorator模式。对于Bridge模式可能需要更多转载 2015-11-30 15:50:37 · 348 阅读 · 0 评论 -
使用设计模式改善程序结构(二)
在本系列的 第一篇文章中,描述了如何通过设计模式来指导我们的程序重构过程,并且着重介绍了设计模式意图、动机的重要性。在本文中我们将继续上篇文章进行讨论,这次主要着重于设计模式的适用性,对于设计模式适用性的掌握有助于从另一个不同的方面来判断一个设计模式是否真正适用于我们的实际问题,从而做出明智的选择。1、 回顾在上一篇文章中,我们给出了一个使用设计模式来改善程序结构的例子,着重介转载 2015-11-30 15:59:59 · 395 阅读 · 0 评论 -
使用设计模式改善程序结构(三)
设计模式在某种程度上确实能够改善我们的程序结构,使设计具有更好的弹性。也正是由于这个原因,会导致我们可能过度的使用它。程序结构具有过度的、不必要的灵活性和程序结构没有灵活性一样都是有害的。本文将分析过度的灵活性可能造成的危害,并且结合一些实例来阐述使用设计模式改善程序结构应遵循的原则。1、 介绍本系列文章的前两篇主要讲述了如何使用设计模式来改善我们的程序结构,大家可以看到经过调整的转载 2015-11-30 15:59:01 · 213 阅读 · 0 评论 -
GEF 框架中的设计模式
本文从设计模式的角度出发,通过解析关键应用场景,深层次地介绍了图形编辑框架 (Graphical Editing Framework, GEF) 涉及的大量概念和技术。本文主要涉及 MVC、命令、工厂、观察者、职责链、状态等模式。通过本文,希望能够帮助 Eclipse RCP 开发者更好地理解和应用 GEF 这一框架。前言图形编辑框架 (Graphical Editing转载 2015-11-30 15:27:27 · 491 阅读 · 0 评论 -
五种常见的 PHP 设计模式
设计模式只是为 Java™ 架构师准备的 —— 至少您可能一直这样认为。实际上,设计模式对于每个人都非常有用。如果这些工具不是 “架构太空人” 的专利,那么它们又是什么?为什么说它们在 PHP 应用程序中非常有用?本文解释了这些问题。设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vli转载 2015-11-30 15:44:13 · 140 阅读 · 0 评论 -
使用 IBM 中间件实现 SaaS 解决方案,第 4 部分: 单一实例多租户应用程序中资源共享的设计模式
本文是系列文章的第四篇,本系列讨论如何使用多租户模型开发经济有效、安全且可配置的 Web 交付应用程序。这个模型让单一共享应用程序实例能够同时支持多个客户组织(即租户),通过在租户之间共享基础结构和操作资源实现经济有效性目标。简介在本文中,我们通过一个示例应用程序 EasyOA 讲解如何设计单一实例租户启用体系结构。EasyOA 是一个为小型企业开发的简单的办公自动化应用程序。我们转载 2015-11-30 16:13:34 · 966 阅读 · 0 评论 -
函数式思维: 函数设计模式,第 1 部分
模式在函数世界中的表现方式与人们的普遍看法相反,设计模式存在于函数式编程中,不过它们有时在外观和行为上不同于其面向对象的模式。在本期的 函数式思维 中,Neal Ford 探究了模式在函数范式中的表现方式,展示了各种解决方案的不同之处。函数世界中的一些经验主义者认为设计模式的概念有缺陷,在函数式编程中不需要。在模式 的狭义解释下该观点可能成立,但这是一个更多关于语义而非使用转载 2015-11-30 16:06:51 · 436 阅读 · 0 评论 -
WebSphere Enterprise Service Bus V7.5 中的聚合设计模式与性能考虑事项
本文介绍了可用于 WebSphere ESB 中介流的聚合设计模式,以及在开发和部署聚合解决方案需要考虑的性能因素。简介聚合是一个重要的企业服务总线 (ESB) 模式。它可将单个入站请求映射到多个出站服务调用中。但在使用聚合设计模式与 IBM® WebSphere® ESB 和 IBM Integration Developer 开发中介时,需要考虑多个性能因素。本文介绍了转载 2015-11-30 15:37:51 · 700 阅读 · 0 评论 -
Rational Edge: 书评:Ajax 设计模式
本文来自于 Rational Edge:一本 Michael Mahemoff 的书的评论,书名是Ajax 设计模式,涵盖了 Ajax(Asynchronous JavaScript and XML)的最佳实践和四种模式。Michael MahemoffO'Reilly Media,2006ISBN: 0596101805635 页如果您正在寻找有关 Ajax 技术转载 2015-11-30 15:42:08 · 189 阅读 · 0 评论 -
从Java类库看设计模式(2)
在上一部分的内容中,我们讲到什么是模式,什么是设计模式,以及对一个设计模式Observer的详细阐叙。相信大家对于模式的概念应该是比较的理解了。这部分及以后的内容,将会步入正题,从Java类库的分析入手,来阐叙设计模式是如何应用到一个完美的设计中的。实际上,Java类库非常的庞杂,这儿不可能把所有能够找到的设计模式的例子一一列举,只是找了一些容易发现的例子。实际上也没有必要,因为只要对一个设计模式转载 2015-11-30 15:49:01 · 176 阅读 · 0 评论 -
函数式思维: 函数设计模式,第 3 部分
解释器模式和扩展语言Gang of Four 的解释器设计模式 (Interpreter design pattern) 鼓励在一个语言的基础上构建一个新的语言来实现扩展。大多数函数式语言都能够让您以多种方式(如操作符重载和模式匹配)对语言进行扩展。尽管 Java™ 不支持这些技术,下一代 JVM 语言均支持这些技术,但其具体实现细则有所不同。在本文中,Neal Ford 将探讨 Groovy转载 2015-11-30 16:10:53 · 307 阅读 · 0 评论 -
利用 SPL 快速实现 Observer 设计模式
本文介绍并演示了如何通过 SPL 中的 SplSubject 和 SplObserver 接口以及 SplObjectStorage 类快速实现 Observer 设计模式。并给出如何通过一个小技巧使观察者(Observer)在更新时可以使用由目标(Subject)传递的数据参数,即目标使用推模型(push model)来通知观察者。什么是 SPLSPL(Standard转载 2015-11-30 16:12:18 · 281 阅读 · 0 评论 -
一种寄生型设计模式在 Swing 应用开发中的实践
本文描述一种在大型的、基于 Swing 开发的系统中,简化代码和对象生命周期管理的设计方法,可以有效地降低代码量和实现界面的重用,提高程序处理效率。问题背景在基于 Java 开发的电信级系统中,会有大量的 GUI 界面设计工作,但众所周知 Java 的目前的 IDE 解决方案对 Swing 界面开发支持的友好性不尽如人意,要做出友好的界面还是要耗费大量的时间,对有些模块可能比业务逻转载 2015-11-30 15:39:44 · 215 阅读 · 0 评论 -
从Java类库看设计模式(4)
在上一部分中,介绍了两个结构型的模式:Bridge和Decorator。这一部分的内容,将会接着上面的讲解,继续我们的设计模式之旅。这一部分,除了还会介绍一个结构型的Composite模式之外,还会有两个行为模式登场。实际上在前面的内容中,我们已经接触到行为模式了:Observer和Command就是两个典型的行为模式。行为模式更多的注重于算法和对象建间职责的分配,也就是说,它会更多的关注转载 2015-11-30 15:52:33 · 201 阅读 · 0 评论 -
函数式思维: 函数设计模式,第 2 部分
相同的问题,不同的范式设计模式仅表现为一种解决问题的方法,然而,如果您主要使用的是面向对象语言,那么您可能会想到 设计模式。在本期的函数式思维 中,Neal Ford 将阐述使用传统设计模式、元编程和函数式组合处理一个常见问题(接口不兼容)的各个解决方案。每种方法都各有利弊,但是考虑解决方案的设计可以帮助您以一种新的方式来看待问题。在 函数式思维:函数设计模式,第 1 部分转载 2015-11-30 16:08:49 · 688 阅读 · 0 评论 -
SAX 解析和设计模式的运用
我们在使用 SAX 对 XML 文件做解析时,往往会被大量的 if 或者 switch 语句所困绕。如果使用适当的设计模式,结合适当的算法,则可以避免在解析程序中到处散布着大量的判断语句。关于SAX了解XMLParser的朋友都应该知道,XML有2种基本的解析方式:DOM(DocumentObject Model)、SAX(Simple Api ofXml)。其中,SAX对转载 2015-11-30 15:33:47 · 1422 阅读 · 0 评论 -
从Java类库看设计模式(1)
在这一部分的内容中,介绍的是一个相对简单但功能强大的模式:Observer模式。希望通过这部分地叙述,大家看了之后,能够对设计模式有一个比较全面地,感性的认识。很多时候,对于一个设计来说(软件上的,建筑上的,或者它他工业上的),经验是至关重要的。好的经验给我们以指导,并节约我们的时间;坏的经验则给我们以借鉴,可以减少失败的风险。然而,从知识层面上来讲,经验只是作为一种工作的积累而存转载 2015-11-30 15:46:13 · 229 阅读 · 0 评论 -
使用设计模式改善程序结构(一)
设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导、简化你的设计转载 2015-11-30 15:57:29 · 245 阅读 · 0 评论 -
在 Java 中应用设计模式 -- Singleton
本文介绍了设计模式中 Singleton 的基本概念,对其功能和用途进行了简单的分析,列出了通常实现 Singleton 的几种方法,并给出了详细的Java 代码.基本概念Singleton是一种创建性模型,它用来确保只产生一个实例,并提供一个访问它的全局访问点.对一些类来说,保证只有一个实例是很重要的,比如有的时候,数据库连接或Socket连接要受到一定的限制,必须保持同转载 2015-11-30 17:58:43 · 236 阅读 · 0 评论