设计模式的实际应用

转载 2006年06月24日 21:38:00

通常,概念和这些概念在现实世界中的应用是有区别的,设计模式也不例外。   设计模式无处不在。在阅读技术方面的出版物或者浏览技术方面的网站时,很容易发现对设计模式的引用。到目前为止,您很可能已经阅读过(至少翻阅过)一些设计模式方面的书籍,如《Core J2EE Design Patterns》或者Gang of Four编写的《Design Patterns》。此时,您可能会对设计模式有一些疑问。设计模式如何帮助我?他们是银弹吗?使用设计模式有什么问题吗?为什么我不能从集成开发环境(integrated development environment,IDE)中获得设计模式?  上述的几个问题是采用设计模式进行处理过程中遇到的一些经典问题。通常,概念和这些概念在显示世界中的应用是有区别的,设计模式也不例外。本文将讨论设计模式在现实世界中的应用。这些信息可以帮助您成功地在项目中采用设计模式来作出正确的决定。  设计模式提供了一种共享经验的方式,可以使团体受益和避免不断的重复发明。设计模式通常捕捉问题的描述、问题的语境、推荐的问题解决方案以及使用解决方案后可以预见到的结果。为了具有最广泛的适用性(从而对更多的读者有用),设计模式通常从取决于环境的精确细节中抽象而来。这种抽象性产生了一些把设计模式应用到现有的案例中所必需的译码。这是一个重要细节:尽管设计模式是共享专业知识的好方法,但通常它对正确应用专业知识是非常重要的。  设计模式这个概念最初产生于建筑行业。设计师(设计建筑物而不是计算机系统)意识到他们需要共享有关正确设计技术的想法。这些想法是在可以使设计师团体从分享经验和教训中获益的设计模式中形成的。设计模式在80年代后期从建筑业进入计算机系统领域。面向对象(Object-oriented,OO)原则逐渐得到普及,而设计模式成为培育新的OO追随者的最佳实践。  Richard Gamma等(人们通常把他们称作 Gang of Four [GoF] )编著的《Design Patterns: Elements of Reusable Object-Oriented Software》一书使设计模式成为万众瞩目的焦点。随着设计模式逐渐普及,他们所涉及的领域就像“Ben and Jerry”效应那样也逐渐广泛起来。对那些不熟悉著名冰淇淋品牌的人来说,Ben and Jerry是一家冰淇淋产品的供应商,其冰淇淋产品拥有各种可以想象得到的配料组合(还包括一些您永远想象不到的)。因此,它就是设计模式,和普通的OO设计模式一样来源于GoF的著作,但是现在包括了专为开发语言、应用服务器、行业合成等提供的设计模式。  设计模式通常根据一些公共特性而组合在一起。GoF的著作把设计模式划分为三类:Creational、Behavioral和Structural。用于J2EE的设计模式通常划分为表现层(Presentation Tier)、业务逻辑层(Business Logic Tier)和集成层(Integration Tier)。这种分组方式可以使描述所有设计模式共享的公共细节更加轻松,或者使设计模式的分类和发现更加轻松。  在对设计模式实际应用的讨论中,需要把设计模式划分为两类:broad exposure和isolated use。这种划分基于设计模式对应用程序设计人员和开发人员的可见性和应用程序的多个部分对设计模式的相依性。  Broad exposure 设计模式因为可以影响多个团队成员或者应用程序的多个方面的设计和开发而闻名。这类设计模式的品质包括:

JAVA中设计模式的实际应用

最近在看设计模式,找到一篇不错的博文,讲解各种设计模式在JAVA中的具体应用场景,博文地址 http://blog.jobbole.com/62314/。 结构型模式: 适配器模式: ...
  • seudongnan
  • seudongnan
  • 2017年03月04日 10:36
  • 913

PHP中的设计模式及其实际应用浅析

设计模式在各种语言中都有很重要的应用,每种设计模式都有其特有的优点以及使用场景。接下来,将从单例模式、工厂模式、组合模式以及策略模式四个模式,介绍设计模式及其实际项目中的简单应用。 一、单例模式 ...
  • fareise
  • fareise
  • 2016年04月23日 17:55
  • 3143

[设计模式]_[中级]_[组合模式(Composite)分析与总结]

序: 组合模式在实际开发中实在是使用的很频繁,很实用. 抽象场景: 1. 你想表示对象的部分-整体层次结构.[原书] -- 如果想对某些对象打包统一处理时,比如用std::vector. 2. ...
  • infoworld
  • infoworld
  • 2015年09月13日 23:43
  • 1476

Java设计模式的常见应用场景

一、Java I/O中的设计模式1、适配器模式适配器模式就是把一个类的接口变换成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。通常被用在一个项目需要引用一些开...
  • xiaokang123456kao
  • xiaokang123456kao
  • 2017年08月10日 16:20
  • 2214

实用设计模式之状态模式

状态模式的针对性很强,当有状态变化的时候很多工程师会倾向于选择状态模式,但在使用时仍然存在着很多问题,比如状态的拆分不清晰、状态的变迁不准确、类的职责划分不单一等,一旦与具体的业务逻辑和已有的代码上下...
  • caowenbin
  • caowenbin
  • 2013年03月17日 16:29
  • 3520

java设计模式之策略模式及项目中的应用

今天开始,我们LazyCoder准备着手开发一款模拟人生游戏,首先从设计人物开始,我们设想我们设计的人物可以讲话,吃东西,睡觉,他们的样子也都不一样。我们想到了继承,于是有了第一个类Person,之后...
  • zcm101
  • zcm101
  • 2013年07月17日 17:00
  • 2340

使用工厂设计模式的场景

使用工厂设计模式的场景 博客分类:  设计模式 使用工厂设计模式的场景  创建类对象虽然可以使用new(底层也是通过反射创建对象的),但是在一些情况下使用工厂模式确实最合适的。  情况一:如果...
  • zhangziwen94nb
  • zhangziwen94nb
  • 2015年03月04日 17:16
  • 4403

设计模式读书笔记-----享元模式

面向对象可以非常方便的解决一些扩展性的问题,但是在这个过程中系统务必会产生一些类或者对象,如果系统中存在对象的个数过多时,将会导致系统的性能下降。对于这样的问题解决最简单直接的办法就是减少系统中对象的...
  • chenssy
  • chenssy
  • 2013年09月20日 16:49
  • 6748

php常用几种设计模式的应用场景

1.单例设计模式 所谓单例模式,即在应用程序中最多只有该类的一个实例存在,一旦创建,就会一直存在于内存中! 单例设计模式常应用于数据库类设计,采用单例模式,只连接一次数据库,防止打开多个数据库连接。 ...
  • z15818264727
  • z15818264727
  • 2016年08月29日 16:25
  • 4508

设计模式实战应用之一:策略模式

策略模式的定义         策略模式是应用最普遍的设计模式之一。Gof 把策略模式归类到对象行为型模式,《设计模式:可复用面向对象软件的基础》对策略模式做出了明确的定义:“Define a fam...
  • defonds
  • defonds
  • 2013年11月19日 22:05
  • 6779
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式的实际应用
举报原因:
原因补充:

(最多只允许输入30个字)