http://tech.it168.com/focus/200902/java-design/index.html

http://tech.it168.com/j/2007-05-17/200705170858843.shtml

http://tech.it168.com/j/e/2007-05-20/200705201337218.shtml

http://tech.it168.com/a2009/0221/266/000000266214.shtml

【IT168 技术文档】整个设计模式贯穿一个原理:面对介面编程,而不是面对实现,(面向物件编程应该改爲面向介面编程)。目标原则是:降低耦合,增强灵活性。

一、创建模式

1.  设计模式之Factory(工厂方法和抽象工厂)

使用工厂模式就象使用new一样频繁.

2.  设计模式之Prototype(原型)

用原型实例指定创建物件的种类,並且通过拷贝这些原型创建新的物件。

3.  设计模式之Builder

   

     汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件複杂的工作,Builder模式就是将这两种情况分开进行。

4.  设计模式之Singleton(单态)

保證一个类只有一个实例,並提供一个访问它的全局访问点

二、结构模式

1.  设计模式之Facade

可扩展的使用JDBC针对不同的资料库编程,Facade提供了一种灵活的实现。 

2.   设计模式之Proxy

以Jive爲例,剖析代理模式在用户级别授权机制上的应用

3.   设计模式之Adapter

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

4.   设计模式之Composite

就是将类用树形结构组合成一个单位。你向别人介绍你是某单位,你是单位元元中的一个元素,别人和你做买卖,相当於和单位做买卖。文章中还对Jive再进行了剖析。

5.    设计模式之Decorator

Decorator是个油漆工,给你的东东的外表刷上美丽的顔色。

6.    设计模式之Bridge

将"牛郎织女"分开(本应在一起,分开他们,形成两个介面),在他们之间搭建一个桥(动态的结合)

7.     设计模式之Flyweight

提供Java运行性能,降低小而大量重复的类的开销。

三、 行爲模式

1.    设计模式之Template

实际上向你介绍了爲什麽要使用Java 抽象类,该模式原理简单,使用很普遍。

2.    设计模式之Memento

很简单一个模式,就是在记忆体中保留原来资料的拷贝。

3.    设计模式之Observer

介绍如何使用Java API提供的现成Observer

4.    设计模式之Chain of Responsibility

各司其职的类串成一串,好象击鼓传花,当然如果自己能完成,就不要推委给下一个。

5.    设计模式之Command

什麽是将行爲封装,Command是最好的说明。

6.    设计模式之State

状态是编程中经常碰到的实例,将状态物件化,设立状态变换器,便可在状态中轻鬆切换。

7.    设计模式之Strategy

不同演算法各自封装,用户端可随意挑选需要的演算法。

8.    设计模式之Mediator

Mediator很象十字路口的红绿灯,每个车辆只需和红绿灯交互就可以。

9.    设计模式之Interpreter

主要用来对语言的分析,应用机会不多。

10.   设计模式之Visitor

访问者在进行访问时,完成一系列实质性操作,而且还可以扩展。

11.    设计模式之Iterator

这个模式已经被用来遍曆Collection中物件。使用频率很高。在Java中无需专门阐述,在大多数场合也无需自己制造一个Iterator,只要将物件装入Collection中,我们就直接可以使用Iterator模式。

[转]Java设计模式学习心得的更多相关文章

  1. Java设计模式学习资源汇总

    本文记录了Java设计模式学习书籍.教程资源.此分享会持续更新: 1. 设计模式书籍 在豆瓣上搜索了一把,发现设计模式贯穿了人类生活的方方面面.还是回到Java与程序设计来吧. 打算先归类,再浏览,从 ...

  2. Java开发学习心得(二):Mybatis和Url路由

    目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...

  3. Java开发学习心得(一):SSM环境搭建

    目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...

  4. Java设计模式学习记录-模板方法模式

    前言 模板方法模式,定义一个操作中算法的骨架,而将一些步骤延迟到子类中.使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤. 模板方法模式 概念介绍 模板方法模式,其实是很好理解的,具体 ...

  5. Java设计模式学习记录-状态模式

    前言 状态模式是一种行为模式,用于解决系统中复杂的对象状态转换以及各个状态下的封装等问题.状态模式是将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象的状态可以灵活多变.这样在客户端使 ...

  6. Java设计模式学习记录-观察者模式

    前言 观察者模式也是对象行为模式的一种,又叫做发表-订阅(Publish/Subscribe)模式.模型-视图(Model/View)模式. 咱们目前用的最多的就是各种MQ(Message Queue ...

  7. Java设计模式学习记录-备忘录模式

    前言 这次要介绍的是备忘录模式,也是行为模式的一种 .现在人们的智能手机上都会有备忘录这样一个功能,大家也都会用,就是为了记住某件事情,防止以后自己忘记了.那么备忘录模式又是什么样子的呢?是不是和手机 ...

  8. Java设计模式学习记录-迭代器模式

    前言 这次要介绍的是迭代器模式,也是一种行为模式.我现在觉得写博客有点应付了,前阵子一天一篇,感觉这样其实有点没理解透彻就写下来了,而且写完后自己也没有多看几遍,上次在面试的时候被问到java中的I/ ...

  9. Java设计模式学习记录-解释器模式

    前言 这次介绍另一个行为模式,解释器模式,都说解释器模式用的少,其实只是我们在日常的开发中用的少,但是一些开源框架中还是能见到它的影子,例如:spring的spEL表达式在解析时就用到了解释器模式,以 ...

随机推荐

  1. PAT_A1098#Insertion or Heap Sort

    Source: PAT_A1098 Insertion or Heap Sort (25 分) Description: According to Wikipedia: Insertion sort  ...

  2. jquery获取当前时间并且格式化

    Date.prototype.Format = function (fmt) {      var o = {          "M+": this.getMonth() + 1 ...

  3. 切换原生appium里面H5页面

    #coding = utf-8from appium import webdriverimport time'''1.手机类型2.版本3.手机的唯一标识 deviceName4.app 包名appPa ...

  4. Vue push() pop() shift() unshift() splice() sort() reverse() ...

    Vue 变异方法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. pop() 方法用于删除并返回数组的最后一个元素. shift() 方法用于把数组的第一个元素从其中删除,并返回 ...

  5. 最佳实践 | 源码升级gcc

    1.下载升级包所需软件 boost_1_60_0.tar.gz http://www.boost.org/users/history/version_1_60_0.html gcc-4.8.0.tar ...

  6. 用 Vue 做一个简单的购物app

    前言 最近在学习Vue的使用.看了官方文档之后,感觉挺有意思的.于是着手做了一个简单的购物app.h5 与原生 app 交互的原理这是我第一次在这个网站上写分享,如有不当之处,请多多指教. 一整个项目 ...

  7. 3.在eclipse中创建Web项目,并部署到Tomcat上

    1.找到创建web项目的菜单 2.创建web项目并选择web环境 3.查看创建好的web项目结构 4.在web项目的webContent文件夹下创建jsp页面 5.查看是否创建jsp页面成功,并编辑j ...

  8. 2.Eclipse中绑定Tomcat

    1.下载并成功安装Eclipse和Tomcat(该步骤有问题请查看我的相关经验): 2.打开Eclipse,单击“window”菜单,选择下方的“Preferences”: 3.找到Server下方的 ...

  9. NOIP2017总结与反思

    手动博客搬家: 本文发表于20180213 00:01:05, 原地址https://blog.csdn.net/suncongbo/article/details/79319556 //由于12月生 ...

  10. 移位运算>>与>>>

    无符号右移运算符 (>>>)右移表达式的位,不保留符号.result = expression1 >>> expression2>>>运算符把 e ...