2012年3月 随笔档案 - java_my_life - 博客园--此网友 12年的博客都是和模式有关的,希望可以多看看。
http://www.cnblogs.com/java-my-life/archive/2012/03.html

《JAVA与模式》之单例模式 - java_my_life - 博客园
http://www.cnblogs.com/java-my-life/archive/2012/03/31/2425631.html

第一部分
第1章 模式的简史和形而上学
1.1 模式是什么
1. 2 软件模式的简史
1.3 模式的起源
1.4 与道家思想的关系
1. 5 软件的永恒之道
1. 6 模式的要素
1. 7 本书讲解模式的格式
第2章 统一建模语言uml简介
2. 1 建造世界贸易中心
2.2 什么是uml
2. 3 uml包括什么
2.4 类图
2. 5 时序图
2. 6 状态图
2.7 uml及建模的工具
第二部分
第3章 软件的可维护性与可复用性
3.1 软件系统的可维护性 . 3. 2 系统的可复用性
3.3 老子论“不武”
第4章 “开一闭”原则(ocp)
4.1 什么是“开一闭”原则
4. 2 怎样做到“开一闭”原则
4. 3 与其他设计原则的关系
4.4 策略模式对“开一闭”原则的支持
4. 5 在其他设计模式中的体现
4.6 一个重构做法的讨论
第5章 专题:java语言的接口
5. 1 什么是接口
5.2 为什么使用接口
5.3 java接口常见的用法
第6章 专题:抽象类
6.1 什么是抽象类
6.2 抽象类的用途
6.3 基于抽象类的模式和原则
6.4 什么时候才应当使用继承复用
第7章 里氏代换原则( lsp)
7.1 美猴王的智慧
7.2 什么是里氏代换原则
7. 3 里氏代换原则在设计模式中的体现
7. 4 墨子论“取譬”
7.5 从代码重构的角度理解
第8章 依赖倒转原则( dip)
8.1 为何而“倒转”
8.2 复用与可维护性的“倒转”
8. 3 依赖倒转原则
8.4 怎样做到依赖倒转原则
8.5 java对抽象类型的支持
8.6 一个例子:账号、账号的种类和账号的状态
8.7 墨子论“取周”
8.8 依赖倒转原则的优缺点
第 9章 接口隔离原则( isp)
9. 1 什么是接口隔离原则
9. 2 一个角色隔离原则的例子
9.3 定制服务的例子
第10章 合成/聚合复用原则( carp)
10.1 合成和聚合的区别
10. 2 复用的基本种类
10.3 从代码重构的角度理解
第11章 迪米特法则( lod)
11.1 迪米特法则的各种表述
11.2 狭义的迪米特法则
11.3 迪米特法则与设计模式
11.4 广义的迪米特法则
11. 5 广义迪米特法则在类的设计上的体现
11. 6 广义迪米特法则在代码层次上的实现
11. 7 老子论“圣人之治”
第三部分
第12章 简单工厂(simple factory)模式
12. 1 工厂模式的几种形态
12.2 简单工厂模式的引进
12.3 简单工厂模式的结构
12.4 简单工厂模式的实现
12.5 简单工厂模式与其他模式的关系
12.6 简单工厂模式的优点和缺点
12. 7 简单工厂模式在此java中的应用
12. 8 女娲抟土造人
第13章 工厂方法( factory method)模式
13. 1 引言
13.2 工厂方法模式的结构
13.3 工厂方法模式在农场系统中的实现
13. 4 关于工厂方法模式的实现
13. 5 java语言中工厂方法模式的例子
13.6 工厂方法模式与其他模式的关系
13.7 女蜗举绳造人
13.8 其他的例了
第14章 抽象工厂(abstract factory)模式
14.1 引言
14.2 问题
14. 3 抽象工厂模式的结构
14. 4 在什么情形下应当使用抽象工厂模式
14. 5 抽象工厂模式在农场系统中的实现
14.6 抽象工厂模式的另一个例子
14.7 “开一闭”原则
14.8 相关的模式与模式的实现
14.9 女娟造万物的故事
14. 10 附录:java awt的peer架构与抽象工厂模式
第15章 单例( singleton)模式
15. 1 引言
15.2 单例模式的结构
15.3 在什么情况下使用单例模式
15. 4 单例类的状态
15. 5 一个实用的例子:属性管理器
15.6 java语言中的单例模式
15.7 专题:不完全的单例类
15.8 相关模式
15.9 附录:双重检查成例的研究
15.10 给读者的一点建议
第16章 专题:单例模式与mx记录
16. 1 问题与解决方案
16. 2 目录服务与mx记录
16. 3 jndi架构介绍
16.4 如何使用jndi编程
16.5 系统设讨
16.6 讨论
第17章 专题:多例(multiton)模式与多语言支持
17.1 引言
17. 2 多例模式
17. 3 多语言项目的设计
第18章 专题:序列键生成器与单例及多例模式
18. 1 问题
18.2 将单例模式应用到系统设计中
18.3 将多例模式应用到系统设计中
18.4 讨论
第19章 建造(builder)模式
19.1 引言
19.2 建造模式的结构
19.3 建造模式的活动序列
19.4 建造模式的实现
19. 5 众神造人的神话故事
19.6 javamail中的建造模式
19. 7 一个发送邮件的例子
19.8 在什么情况下使用建造模式
19.9 建造模式与其他模式的关系
第20章 原始模型(prototype)模式
20.1 引言
20.2 变量、对象以及对象的引用
20.3 java对象的复制
20.4 原始模型模式的结构
20.5 模式的实现:深复制和浅复制
20.6 孙大圣的身外身法术
20.7 在什么情况下使用原始模型模式
20.8 原始模型模式的优点和缺点
20. 9 原始模型模式与其他模式的关系
第21章 专题:javabeean的“冷藏”和“解冻”
21.1 什么是“冷藏”和“解冻”
21.2 什么可以“冷藏”
21.3 beaus.instantiate()方法
21.4 怎样在jsp中使用beaus.instantiate()方法
21.5 与装饰模式的关系
第四部分
第22章 适配器( adapter)模式
22.1 引言
22.2 类的适配器模式的结构
22.3 类的适配器模式的效果
22.4 对象的适配器模式的结构
22.5 在什么情况下使用适配器模式
22.6 iterator与enumeration
22.7 利用适配器模式指方为圆
22.8 适配器模式在架构层次上的应用
22.9 关于模式实现的讨论
22.10 适配器模式与相关的模式
第23章 缺省适配( default adapter)模式
23.1 鲁智深的故事
23. 2 windowadapter是缺省适配模式
23.3 模式的结构
23.4 在什么情况下使用本模式
23.5 模式的实现
23.6 j2se中的缺省适配模式
23.7 一个例子
第24章专题:xmlproperties与适配器模式
24.1 引言
24.2 sax2浏览器
24. 3 开始xmlproperties项目
第25章 合成(composite)模式
25.1 对象的树结构
25.2 介绍合成模式
25.3 安全式和透明式的合成模式
25.4 安全式的合成模式的结构
25.5 透明式的合成模式的结构
25.6 合成模式的实现
25.7 道士的故事
25.8 一个绘图的例子
25. 9 awt库中的例子
25.10 合成模式与其他模式的关系
第26章 装饰(decorator)模式
26.1 引言
26.2 装饰模式的结构
26.3 装饰模式应当在什么情况下使用
26.4 孙大圣的故事
26.5 使用装饰模式的优点和缺点
26.6 模式实现的讨论
26.7 装饰模式与其他模式的关系
26.8 实例:grepreader
26.9 一个例子:发票系统
26.10 附录:关于适配器模式与装饰模式的对话
第27章 专题:设计模式在 java i/o库中的应用
27.1 引言
27.2 java i/o库的设计原则
27.3 装饰模式的应用
27.4 半透明的装饰模式
27.5 适配器模式的应用
27.6 从byte流到char流的适配
第28章 代理(proxy)模式
28.1 引言
28.2 代理的种类
28. 3 代理模式的结构
28. 4 代理模式的时序
28. 5 jsvs 2.0对代理模式的支持
28.6 高老庄悟空降八戒
28.7 代理模式的优点和缺点
28.8 代理模式的实现
28. 9 代理模式与其他模式的关系
第29章 专题:智能引用代理
29.1 问题
29.2 系统设计
29.3 系统的时序
29.4 系统的源代码
第30章 专题:虚拟代理的例子
30.1 问题
30.2 系统的要求
30.3 系统的设计
30.4 系统的时序
30.5 系统的源代码
第31章 享元模式( flyweight pattern)
31.1 引言
31.2 单纯享元模式的结构
31.3 复合享元模式的结构
31. 4 模式的实现
31.5 一个咖啡摊的例子
31. 6 咖啡屋的例于
31.7 享元模式应当在什么情况下使用
31.8 从代码重构的角度看享元模式
31. 9 享元模式的优点和缺点
31.10 相关的模式
第32章 门面(facade)模式
32.1 引言
32.2 门面模式的结构
32.3 门面模式的实现
32.4 在什么情况下使用门面模式
32.5 迪米特法则(lod)
32.6 一个例子
32.7 使用门面模式的设计
32.8 session门面模式
第33章 桥梁(bridge)模式
33.1 引言
33.2 桥梁模式的结构
33.3 java语言中的peer架构
33.4 驱动器和 jdbc驱动器
33.5 从重构的角度考察
33.6 桥梁模式和其他模式的关系
33.7 八戒“转世投胎”的故事
33.8 关于桥梁模式的实现
33.9 在什么情况下应当使用桥梁模式
第五部分
第34章 不变(immtable)模式
34.1 引言
34.2 不变模式的结构和实现
34.3 不变模式在java语言中的应用
34.4 不变模式的优点和缺点
34.5 不变模式与事元模式的关系
34.6 一个例子:复数类
第35章 策略( strategy)模式
35.1 引言
35.2 模式的实现
35.3 java语言内部的例子
35.4 排序策略系统
35.5 一个例子:图书折扣的计算
35.6 在什么情况下应当使用策略模式
35. 7 策略模式的优点和缺点
35. 8 策略模式与其他模式的关系
35.9 设计原则的讨论
35. 10 诸葛亮的锦囊妙计
第36章 模版方法(template method)模式
36. 1 引言
36.2 模版方法模式的结构
36.3 “好莱坞原则”
36. 4 一个例于
36. 5 继承作为复用的工具
36. 6 java语言里面使用过的模版方法模式
36. 7 模版方法模式中的方法
36. 8 模版方法模式在代码重构中的应用
36.9 重构的原则
36. 10 西天取经的八十一难
第37章 专题:servlet技术中的模式
37. 1 servlet技术介绍
37. 2 模版方法模式的使用
37. 3 观察者模式的应用
第38章 观察者(observer)模式
38. 1 引言
38. 2 观察者模式的结构
38. 3 另一种实现方案
38. 4 java语言提供的对观察者模式的支持
38. 5 菩萨的守瓶龟
38. 6 java中的dem事件机制
38. 7 观察合模式与其他模式的关系
第39章 专题:观察者模式与awt中的事件处理
39. 1 引言
39. 2 dem的结构
第40章 专题:观察者模式与sax2浏览器
40.1 引言
40.2 sax2是怎么工作的
40.3 contenthandler接口
40.4 怎样实现 contenthandler接口
40.5 怎样使用 contenthandler
40. 6 缺省适配模式与defaulthandler
40.7 简单工厂模式的应用
第41章 专题:观察者模式与swing定时器
41.1 为什么需要定时器
41.2 utility定时器与swing定时器的区别
41.3 使用swing定时器的方法
41. 4 观察者模式的应用
41.5 单例模式的应用
第42章 专题:mvc模式与用户输入数据检查
42.1 什么是mvc模式
42. 2 mvc是架构模式
42. 3 mvc模式在j2ee技术中的应用
42.4 从代码重构的角度查看
42.5 用户输人检查与mvc模式
42.6 sql注射
第43章 迭代子(iterator)模式
43.1 引言
43.2 迭代子模式的结构
43.3 迭代子模式的实现
43.4 迭代子模式的优点和缺点
43.5 一个例子
43.6 迭代子模式与其他模式的关系
第44章 专题:java对迭代子模式的支持
44. 1 java聚集
44.2 java聚集中的迭代子
44.3 java.util.iterator接口
44.4 java迭代子接口日 listlterator
44.5 enumeration与iterator
44.6 其他相关模式
第45章 责任链( chain of responsibility)模式
45.1 从击鼓传花谈起
45.2 责任链模式的结构
45.3 纯的与不纯的责任链模式
45.4 jsvs 1.0版的awt事件处理机制
45.5 《红楼梦》中击鼓传花的故事
45.6 java系统的解
45.7 责任链模式的实现
45.8 对象的树结构
45.9 dhtml中的事件处理
45.10 责任链模式与其他模式的关系
第46章 专题:定时器与击鼓传花.
46.1 线程
46.2 定时器
46.3 击鼓传花
第47章 命令( command)模式
47.1 引言
47.2 命令模式的结构
47.3 玉帝传美猴王上天
47.4 java语言内的例子:awt的事件处理
47.5 一个例子:创世纪系统
47.6 一个例子:audioplayer系统
47.7 增加宏命令功能
47.8 模式的实现
47.9 在什么情况下应当使用命令模式
47.10 使用命令模式的优点和缺点
47.11 命令模式与其他模式的关系
第48章 专题:swing库中的命令撤销和恢复
48.1 在视窗系统中使用命令模式
48.2 swing的基本撤销功能
48.3 一休论禅的文字框
第49章 备忘录( memento)模式
49.1 备忘录模式的结构
49.2 备忘录模式的白箱实现
49.3 双重接口及其在java语言中的实现
49.4 备忘录模式的黑箱实现
49.5 负责人角色的增强
49.6 备忘录模式与多重检查点
49.7 “自述历史”模式
49. 8 “假如”协议模式
49.9 备忘录模式与其他模式的关系
49.10 备忘录模式的应用
49.11 使用备忘录模式的优点和缺点
49. 12 观世音甘泉活树的故事
第50章 状态( state)模式
50.1 引言
50.2 状态模式的结构
50.3 曾侯乙编钟的描述
50.4 状态模式的效果
50.5 在什么情况下使用状态模式
50.6 关于模式实现的讨论
50.7 一个状态模式的应用例子:tcp
50.8 状态模式在绘图软件中的应用
50.9 用户登录子系统
50.10 状态模式与策略模式的区别
第51章 专题:峻山道士与状态模式
51.1 有状态的墙
51.2 异常逻辑
51.3 从代码重构的角度考察
第52章 专题:单分派和多分派
52.1 分派的概念
52. 2 双重分派
52.3 未来的java语言
第53章 访问者(visitor)模式
53.1 引言
53.2 访问者模式的结构
53.3 系统的时序图
53.4 在什么情况下应当使用访问者模式
53.5 使用访问者模式的优点和缺点
53.6 访问者模式的实现
53.7 电脑专卖系统:问题与对象
53.8 电脑专卖系统的访问者模式设计
53.9 与访问者模式有关的模式
第54章 解释器(interpreter)模式
54.1 引言
54.2 解释器模式的结构
54.3 一个示意性的实现
54.4 有关模式
第55章 调停者(mediator)模式
55.1 引言
55.2 调停者模式的结构
55.3 调停者模式的实现
55.4 迪米特法则(lod)
55.5 调停者模式的优点和缺点
55.6 调停者模式的使用条件
55.7 与调停者模式有关的模式
附录a 设计模式一览表
a. 1 创建模式
a.2 结构模式
a.3 行为模式
附录b uml图标及其java实现一览表
附录c 中英术语对照表

书本目录

《java与模式》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. Linux-基础学习(一)-基本命令

    开始今日份整理 1.Linux的文件目录操作 1.1 ls 简述:ls是list的缩写,用于列出指定目录或文件 常用的选项 1 -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为隐藏, ...

  2. 聊聊基准测试的MVP方案

    上篇博客介绍了基准测试的一些思路和方法策略,这篇博客,聊聊基准测试的MVP(最小可行性方案)... 思维导图 一.测试策略 策略名称 阈值 运行时间 性能指标 基线 注释 并发测试 CPU75%+Er ...

  3. 使用maven时出现Failure to transfer 错误的解决方法

    在eclipse里使用maven,连接nexus私服. 添加依赖之后,总是报添加的依赖jar文件找不到,但是在nexus的库里面能找到这个依赖的jar文件,但是在本地的maven库里面找不到,于是我将 ...

  4. service docker start后docker stop/waiting的解决方法

    在某次强行对机子断电后,再开机后发现docker没启动 运行service docker start显示docker start/running, process xxxx,之后不一会儿就停止了, 再 ...

  5. 字符串匹配KMP算法详解

    1. 引言 以前看过很多次KMP算法,一直觉得很有用,但都没有搞明白,一方面是网上很少有比较详细的通俗易懂的讲解,另一方面也怪自己没有沉下心来研究.最近在leetcode上又遇见字符串匹配的题目,以此 ...

  6. UIGestureRecognizer - BNR

    继续上篇UITouch - BNR.该篇将实现线条选择.移动和删除操作. UIGestureRecognizer有一系列子类,每一个子类都用于识别特定的手势.当识别出一个手势时,手势识别器会拦截视图的 ...

  7. [Spark][Streaming]Spark读取网络输入的例子

    Spark读取网络输入的例子: 参考如下的URL进行试验 https://stackoverflow.com/questions/46739081/how-to-get-record-in-strin ...

  8. MacOS 安装 gdb 踩过的坑

    今天在 OS X EI Capitan 10.11.6 中安装 gdb 的时候,出了一堆状况,写下此文以便以后能够时刻提醒自己. 解决方案 1.安装 gdb $ brew install gdb $ ...

  9. Announcing the public preview of Azure Dev Spaces

    Today, we are excited to announce the public preview of Azure Dev Spaces, a cloud-native development ...

  10. [SimplePlayer] 1. 从视频文件中提取图像

    在开始之前,我们需要了解视频文件的格式.视频文件的格式众多,无法三言两语就能详细分析其结构,尽管如此,ffmpeg却很好地提取了各类视频文件的共同特性,并对其进行了抽象描述. 视频文件格式,统称为co ...