出版时间:2010-8 出版社:电子工业 作者:杨帆//王钧玉//孙更新 页数:524
Tag标签:无
前言
自GoF推出《设计模式》这本经典书籍以来,在软件设计界,学习使用模式的风潮就没有停止过,设计模式是前人对于软件设计经验的总结,非常具有学习的价值。 本书的作者具有丰富的实际开发经验和培训经验,鉴于多年的培训工作和软件开发经历,他们能很好地把握初学者对于模式的学习需求。本书是设计模式的实用性入门和进阶书籍,内容安排上注重实用,可以使初学者迅速学以致用。本书非常适合熟悉Java编程但是对设计模式经验相对较少的读者阅读。 本书采用案例驱动的形式,用一套完整的超市系统统领全书。书中第1章-第3章介绍了面向对象的设计方法以及设计模式的起源和优点,讲解了UML的发展历史以及常见的关系图。
内容概要
本书使用Java语言来描述经典的GoF23设计模式,在讲解过程中涉及了JDK 6.0中的新特性,全书采用案例驱动的形式,由一个完整的超市系统案例统领了全部知识点。本书以案例项目工程为主线,以应用为目的,循序渐进地讲解了设计模式的具体应用方法,易学易用,并且结合案例驱动形式,可以使读者将各种设计模式真正运用到实际开发中,避免理论与实践脱节的问题。 本书适用于对设计模式不甚了解的初学者,同时也适合具有一定编程基础、需要提高实践技术的程序员作为参考用书。本书还可作为高等院校计算机等专业及相关培训学校的指导教材。
书籍目录
第1章 设计模式初见第2章 面向对象设计原则第3章 统一建模语言UML概述第4章 工厂方法模式(Factory Method)第5章 抽象工厂模式(Abstract Factory)第6章 建造者模式(Builder Factory)第7章 原型模式(Prototype)第8章 单例模式(Singleton)第9章 适配器模式(Adapter)第10章 桥接模式(Bridge)第11章 代理模式(Proxy)第12章 外观模式(Facade)第13章 装饰模式(Decorator)第14章 组合模式(Composite)第15章 享元模式(Flyweight)第16章 命令模式(Command)第17章 观察者模式(Observer)第18章 责任链模式(Chain of Responsibility)第19章 迭代器模式(Iterator)第20章 访问者模式(Visitor)第21章 状态模式(State) 第22章 备忘录模式(Memento)第23章 策略模式(Strategy)第24章 调停者模式(Mediator)第25章 模板方法模式(Template Method)第26章 解释器模式(Interpreter)第27章 设计模式总结
章节摘录
第1章 设计模式初见 设计模式(DesignPattern)是一套经过分类的、被反复使用的软件代码设计经验的总结。使用设计模式是为了可复用代码,让代码更容易被理解,保证代码的可靠性。通常来说,设计模式是软件复用的基础理论,它使代码编制真正工程化。 设计模式最初是在建筑学中被提出的,建筑师克里斯托佛·亚历山大在1970年代编撰了一本汇集设计模式的书,但是设计模式的思想在建筑设计领域里的影响远没有后来在软件开发领域里传播得广泛和深远。 软件设计中的设计模式是在GoF(“四人帮”,指Gamma、Helm、JollIlson&Vlissides、Addison—Wesley四人)合著的《设计模式》一书中第一次提出的,随后被规范化。本书提出的23种基本设计模式便属于《设计模式》中所提及的经典的模式。 1.1 一切从某个小超市开始 在软件工程领域中研究一种具体的技术,通常都会借助一个具体的案例来分析和学习,在本书中也不例外,在每一章节的学习过程中,读者除了要学习和分析模式的案例,还将学习如何使用设计模式来解决一个现实工程中存在的问题。 各章节的案例都来源于一个“超市”案例,因为“超市”对于大众来说都比较熟悉,其中发生的问题也比较容易理解。 软件设计中的超市是什么样子的呢?其实本软件设计中就是使用软件来模拟人经营一个超市,现实生活中的超市中发生的各种情况在软件环境中都要提及并加以处理。比如要进行商品的上架、仓库进货、打折销售、客户服务、广告宣传等。 在学习每一个模式时,为了达到良好的学习效果,读者最好能了解一下每一章涉及的超市问题发生的原因及需求,这对理解模式的意图是十分关键的。 1.2 为何使用设计模式 要回答为何要使用设计模式这个问题,必须要知道设计模式的优点。设计模式的优点如下:复用解决方案 在代码设计中通常会遇到需要设计的方案和以前设计的某个方案类似的问题,比如之前已经设计过一个论坛系统,现在又要设计一个讨论版系统。这时,比较好的解决方案就是最大限度地利用之前设计的代码。 设计模式的主要思想就是“复用”,通过复用已经确认的设计,能够在解决问题的过程中使用最小的成本获得最大的效益,而且可以在学习他人经验的过程中获利,不用再为那些总是会重复出现的问题重复设计解决方案。
图书封面
图书标签Tags
无
评论、评分、阅读与下载