- 浏览: 7907898 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
这个模式用的不多,笔记之,病人去医院看病的例子,来自易说设计模式一书
public abstract class Doctor {
public abstract void seeDoctor(XiaoGong xiaoGong);
public Doctor getDoctor(){ return doctor; }
public void setDoctor(Doctor doctor){ this.doctor = doctor; }
private Doctor doctor;
}
public class NerveDoctor extends Doctor {
public void seeDoctor(XiaoGong xiaoGong) {
if (xiaoGong.getHead().booleanValue()) {
System.out.println("神经科的医生看病");
} else if (super.getDoctor() != null) {
super.getDoctor().seeDoctor(xiaoGong);
}
}
}
public class SleepDoctor extends Doctor {
public void seeDoctor(XiaoGong xiaoGong) {
if (xiaoGong.getSleep().booleanValue()) {
System.out.println("睡眠中心的医生看病");
} else if (super.getDoctor() != null) {
super.getDoctor().seeDoctor(xiaoGong);
}
}
}
public class AssimilationDoctor extends Doctor {
public void seeDoctor(XiaoGong xiaoGong) {
if (xiaoGong.getStomach().booleanValue()) {
System.out.println("消化科的医生看病");
} else if (super.getDoctor() != null) {
super.getDoctor().seeDoctor(xiaoGong);
}
}
}
病人类
public class XiaoGong {
public Boolean getSleep(){ return sleep; }
public void setSleep(Boolean sleep){ this.sleep = sleep; }
public Boolean getHead(){ return head; }
public void setHead(Boolean head){ this.head = head; }
public Boolean getStomach(){ return stomach; }
public void setStomach(Boolean stomach){ this.stomach = stomach; }
private Boolean sleep;
private Boolean head;
private Boolean stomach;
}
客户调用类
XiaoGong xiaoGong = new XiaoGong();
Doctor nerveDoctor = new NerveDoctor();
Doctor sleepDoctor = new SleepDoctor();
Doctor assimilationDoctor = new AssimilationDoctor();
nerveDoctor.setDoctor(sleepDoctor);
sleepDoctor.setDoctor(assimilationDoctor);
xiaoGong.setHead(new Boolean(true));
nerveDoctor.seeDoctor(xiaoGong);
xiaoGong.setSleep(new Boolean(true));
xiaoGong.setHead(new Boolean(false));
nerveDoctor.seeDoctor(xiaoGong);
xiaoGong.setStomach(new Boolean(true));
xiaoGong.setSleep(new Boolean(false));
nerveDoctor.seeDoctor(xiaoGong);
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1540方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2007前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3445info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2218import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 481https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 664public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 585https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 649https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 421https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5141 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3079微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 600https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1823什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 948本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1337原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 841public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 654在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 916-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 748一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1887介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...
行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式) 2) 学习目标:通过学习,学员...
《C++20设计模式》学习笔记-第13章职责链模式-配套代码
这份"根据《JAVA与设计模式》整理的笔记及示例代码"涵盖了Java语言和设计模式的核心概念,旨在帮助开发者理解和应用这些模式。 一、设计模式的基本概念 设计模式是对在特定情境下软件设计问题的解决方案的一种描述...
设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的...设计模式笔记中的内容应该涵盖了以上所述的各种模式,通过深入学习和实践,你可以将这些模式应用到实际项目中,提升自己的编程技能和设计能力。
设计模式是软件工程中的一种重要概念...以上只是设计模式领域的一小部分知识,设计模式笔记通常会更详细地涵盖每个模式的实现、优缺点、示例代码和实际应用案例,帮助开发者提升设计能力,编写出高质量、可维护的代码。
行为型模式专注于类或对象间的交互和职责分配,如模板方法、命令、解释器、责任链、访问者、中介者、备忘录、观察者、状态和策略模式,它们定义了对象如何协作和执行任务。 状态机模式,也称为状态对象模式,是一种...
《HeadFirst设计模式学习笔记》是一份详尽的资料,旨在帮助读者深入理解并掌握设计模式这一编程领域的核心概念。设计模式是软件工程中的一种最佳实践,它在解决常见问题时提供了一种标准的解决方案,使得代码更易于...
行为型模式则关注对象之间的交互和责任分配,如策略模式、模板方法模式、观察者模式、访问者模式、命令模式、迭代器模式、职责链模式、解释器模式和备忘录模式等。 C++作为一种静态类型、编译式、面向对象的语言,...
16. **职责链模式**:将请求的发送者和接收者解耦,通过将处理责任传递给链上的下一个对象来实现。 17. **命令模式**:将一个请求封装为一个对象,以便使用不同的请求、队列请求、或者记录请求日志,也可以支持可...
文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...
### 设计模式总结笔记 #### 一、概述 设计模式是一种在特定上下文中解决软件设计问题的方案。它并不是一种现成的代码片段或者框架,而是一种指导思想,帮助开发者理解如何更好地组织代码来解决问题。设计模式可以...
这个压缩包文件包含了23种设计模式的学习笔记和源码,旨在帮助开发者深入理解并熟练运用这些模式。以下是对每种设计模式的详细解释,以及它们在Java编程中的应用。 1. **单例模式**:确保一个类只有一个实例,并...
9. **职责链模式**:将请求沿着处理者链进行传递,直到某个处理者处理该请求,使得多个对象都有机会处理请求,增强了系统的灵活性。 这些设计模式是经过实践验证的解决方案,能够帮助开发者编写出可维护、可扩展、...
在“HeadFirst 设计模式学习笔记3--装饰模式 Demo”中,作者通过实例讲解了装饰模式的基本概念、结构和应用场景。这篇文章可能是从CSDN博客平台上的一个链接访问的,遗憾的是,由于我们当前无法直接访问该链接,所以...
本资料“图解Java设计模式笔记总结word版本”聚焦于通过图文并茂的方式,深入浅出地解析各种设计模式。以下是基于这个主题的详细知识点讲解: 1. **设计模式的分类** - **创建型模式**:如单例(Singleton)、工厂...
行为型模式关注对象之间的职责分配,如策略模式(Strategy)、观察者模式(Observer)和责任链模式(Chain of Responsibility)。策略模式定义了一族算法,将每个算法封装起来,使它们可以互相替换,让算法的变化...
C#设计模式学习笔记是一份详尽的资源,适合任何希望深入了解如何在C#编程中应用设计模式的开发者。这份笔记涵盖了多种设计模式,旨在提升代码的可读性、可维护性和可扩展性,这些都是软件开发中至关重要的要素。 ...
《Hear First设计模式》是一本关于设计模式的著作,其内容主要涵盖了Java语言中的设计模式应用。这本书通过深入浅出的方式,引导读者理解和掌握设计模式这一软件开发中的重要概念。设计模式是解决常见问题的经验总结...