设计模式(Patterns in Java)

转载 2007年09月25日 16:31:00

设计模式(Patterns in Java)


  板桥里人的设计模式讲解是国内媒体(包括书籍和网站)中最早的成体系介绍,本系列介绍纯为免费传播(转载本站文章,请保留作者和网址),尽量做到言简意赅,通俗易懂,但是难免有所疏漏敬请来信或论坛讨论,不断完善。

 

  真正掌握设计模式需要在实践中不断研究和使用,关于设计模式在具体实例的应用,可以阅读板桥里人的书籍《Java实用系统开发指南》。书籍中8个实例都从设计模式、框架等高度对系统进行崭新的设计和实现,这种应用理念正是现在以及将来软件设计和编程的根本之道。

1:前言

学习GoF设计模式的重要性

建筑和软件中模式之异同

你还在用if else吗?

2:GoF设计模式
A.创建模式

设计模式之Factory(工厂模式)
使用工厂模式就象使用new一样频繁.2002/10/9更新

设计模式之Prototype(原型模式)
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
设计模式之Builder
汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder模式就是将这两种情况分开进行。
设计模式之Singleton(单态模式)
保证一个类只有一个实例,并提供一个访问它的全局访问点 2002/10/9更新

B.结构模式

设计模式之Facade
可扩展的使用JDBC针对不同的数据库编程,Facade提供了一种灵活的实现.

设计模式之Proxy
以Jive为例,剖析代理模式在用户级别授权机制上的应用

设计模式之Adapter
使用类再生的两个方式:组合(new)和继承(extends),这个已经在"thinking in java"中提到过.

设计模式之Composite
就是将类用树形结构组合成一个单位.你向别人介绍你是某单位,你是单位中的一个元素,别人和你做买卖,相当于和单位做买卖。文章中还对Jive再进行了剖析。
设计模式之Decorator
Decorator是个油漆工,给你的东东的外表刷上美丽的颜色.
设计模式之Bridge
将"牛郎织女"分开(本应在一起,分开他们,形成两个接口),在他们之间搭建一个桥(动态的结合)
设计模式之Flyweight
提供Java运行性能,降低小而大量重复的类的开销.

C.行为模式
设计模式之Template
实际上向你介绍了为什么要使用Java 抽象类,该模式原理简单,使用很普遍.
设计模式之Memento
很简单一个模式,就是在内存中保留原来数据的拷贝.
设计模式之Observer
介绍如何使用Java API提供的现成Observer
设计模式之Chain of Responsibility
各司其职的类串成一串,好象击鼓传花,当然如果自己能完成,就不要推委给下一个.
设计模式之Command
什么是将行为封装,Command是最好的说明.
设计模式之State
状态是编程中经常碰到的实例,将状态对象化,设立状态变换器,便可在状态中轻松切换.
设计模式之Strategy
不同算法各自封装,用户端可随意挑选需要的算法.
设计模式之Mediator
Mediator很象十字路口的红绿灯,每个车辆只需和红绿灯交互就可以.
设计模式之Interpreter
主要用来对语言的分析,应用机会不多.
设计模式之Visitor
访问者在进行访问时,完成一系列实质性操作,而且还可以扩展.
设计模式之Iterator
这个模式已经被整合入Java的Collection.在大多数场合下无需自己制造一个Iterator,只要将对象装入Collection中,直接使用Iterator进行对象遍历。
3:英文资料

Thinking in Patterns with Java Thinking in Java的作者Eckel又一著作!

CMSC491D Design Patterns In Java
Overview of Design Patterns 精确定义各个模式以及他们的关系
Design Patterns Java Companion

4:J2EE设计模式

设计模式在EJB中应用 这是板桥里人banq发表在《程序员》第6期的文章。
EJB设计模式(英文) 从设计模式去理解EJB或J2EE

4:模式案例实战学习

模式 Jive设计模式学习 Jive是学习GoF设计模式最好案例之一,本站提供源码和学习资料。

相关讨论:

这么多设计模式,我的看法和理解

讨论设计模式和00思想

学习设计模式,哪本书适合入门呢

什么是OO思想?

J2SE等基础的重要性?

 

  • 感谢台湾「点空间」将本站设计模式文章翻译成繁体字并转载
  • 感谢网友David Yu将本站设计模式制作成PDF文件,这里下载PDF文件
    生成器 抽象工厂 原型模式 单件模式 适配器模式 桥接模式 组成模式 树形模式 装饰模式 外观模式 享元模式 代理模式 结构模式 职责链
 

相关文章推荐

Netty 之 ChannelHandler,ChannelHandlerContext,ChannelPipeline

本小节一起学习一下ChannelHandler,ChannelHandlerContext,ChannelPipeline这三个Netty常用的组件,不探究它们的底层源码,我们就简单的分析一下用法 ...

一起学Netty(三)之 SimpleChannelInboundHandler

其实Netty的知识点还是很零碎的,比如这个SimpleChannelInboundHandler这个类,在《Netty in Action》该书中的原版的Hello world的demo的客户端就是...

【Netty源码学习】ChannelPipeline(一)

ChannelPipeline类似于一个管道,管道中存放的是一系列对读取数据进行业务操作的ChannelHandler。1、ChannelPipeline的结构图:在之前的博客【Netty源码学习】入...

Netty3 源码分析 - ChannelPipeline

ChannelPipeline的作用就是组织一系列的ChannelHandlers 为某一个Channel服务,处理各种事件。实现了拦截过滤器模式的高级形式(an advanced form of t...

Netty4学习笔记-- Bootstrap

Netty4的代码比我想象的要复杂的多,不过Netty4很好的将这种复杂性隐藏了起来,暴露出来的,是一个相对容易使用的接口。Bootstrap就是Netty试图隐藏这种复杂性的一个例子。 b...

Netty 之 netty源码学习之netty server端源码初读(上)

server端是使用了Reactor模式对nio进行了一些封装,Reactor模式网上有很多资料,不赘述,了解了这个模式开始看源码 netty的版本是4.0.21.Final ...

Netty4学习笔记-- NioEventLoopGroup NioEventLoop

NioEventLoopGroup继承层次结构图 Netty4的NioEventLoopGroup继承结构很复杂,为了理解它如何工作,我画了一张类似UML的图。但是这张图也很巨大,所以我做了...

使用Netty搭建APP推送服务器

调用时序图如下:源码:https://github.com/Aresyi/pushServer(1)获取socket登录秘钥(登录口令):key. key的时效为1分钟,如果客户端在拿到key后,1分...

Netty的ChannelPipeline

1、如何理解Netty的ChannelPipeline      在Netty中,每个Channel被创建的时候都需要被关联一个对应的pipeline(通道),这种关联关系是永久的(整个程序运行的生...

Netty内部组件 in out bound handler等

读完这一章,我们基本上可以了解到Netty所有重要的组件,对Netty有一个全面的认识,这对下一步深入学习Netty是十分重要的,而学完这一章,我们其实已经可以用Netty解决一些常规的问题了。 一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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