Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java核心库中的GoF设计模式示例?

Java核心库中的GoF设计模式示例?

提问于 2017-12-11 03:23:03
回答 2关注 0查看 345

正在学习GoF的Java设计模式。Java核心库中这些设计模型有一些很好的例子来供参考吗?

回答 2

黄易音乐战组

发布于 2017-12-11 06:30:28

Flyweight与Byte,Short,Integer,Long和String的一些值一起使用。

Facade被用在许多地方,但最明显的是脚本接口。

单例 - java.lang.Runtime浮现在脑海。

抽象工厂 - 也是脚本和JDBC API。

命令 - TextComponent的撤销/重做。

解释器 - RegEx(java.util.regex。)和SQL(java.sql。)API。

原型 - 不是100%肯定,如果这个计数,但我thinkg clone()方法可以用于这个目的。

Tabor

发布于 2017-12-11 06:29:48

整个摇摆的观察者模式(Observable,Observer)

MVC也在摆动

适配器模式:InputStreamReader和OutputStreamWriter注:ContainerAdapter,ComponentAdapter,FocusAdapter,KeyAdapter,MouseAdapter是不适配器; 他们实际上是空的对象。Sun的命名选择太差

装饰模式(BufferedInputStream可以装饰其他流如FilterInputStream)

AWT工具包和Swing可插入外观类的AbstractFactory模式

java.lang.Runtime#getRuntime() 是单身人士

ButtonGroup 调解员模式

Action,AbstractAction可以用于不同的视觉表示来执行相同的代码 - >命令模式

用于Flyweight模式的JTable中的Interned Strings或CellRender(也可以考虑各种池 - 线程池,连接池,EJB对象池 - Flyweight实际上是关于共享资源的管理)

Java 1.0事件模型就像Servlet过滤器一样是责任链的一个例子。

集合框架中的迭代器模式

AWT / Swing中的嵌套容器使用复合模式

AWT / Swing中的布局管理员是策略的一个例子

和开发者交流更多问题细节吧,去 写回答
相关文章
JAVA中的23种设计模式(GOF)
volatile 保证数据的可见性,让线程内存数据的变化立刻显示到主存中,而且有序性可以避免指令重排,但是不保证原子性。
HcodeBlogger
2020/08/05
9820
JAVA中的23种设计模式(GOF)
Java设计模式之GoF设计模式概述
最近要开始学习设计模式了,以前是偶尔会看看设计模式的书或是在网上翻到了某种设计模式,就顺便看看,也没有仔细的学习过。前段时间看完了JVM的知识,然后就想着JVM那么费劲的东西都看完了,说明自己学习耐力还是有的,所以就打算仔细的研究研究设计模式,然后也将设计模式的学习过程记录下来。
纪莫
2018/08/01
5080
GoF设计模式快速指南
关于设计模式 本文主要是对原版GoF的23种设计模式提供一个快速的指南。每个模式的介绍包括了类图,讲解,使用信息和真实案例。 创造型模式(C):用于构造可与系统实现相解耦的对象。 结构型模式(S): 用于生成位于许多不同对象之间的大型对象结构。 行为型模式(B): 用于管理对象间的算法,关系和职责。 对象范围: 处理能够在运行时被改变的对象关系。 类范围: 处理在编译间可被改变的类关系。 C抽象工厂模式S装饰者模式C原型模式S适配器模式S门面模式S代理模式S桥接模式C工厂方法模式B观察者模式C构建者模式S
用户1263954
2018/01/30
7340
GoF设计模式快速指南
面向对象设计模式:Java中的状态模式代码示例
网上有很多关于使用面向对象模式的文章和视频。如果您找不到一个真正好的示例,那么就很难真正理解它。当我和我8岁的儿子一起骑自行车时,我总是提醒他在骑上坡时加速,在骑平坡或下坡时要减速。这种传动装置机制是解释如何使用状态模式的一个很好的例子。在本教程中,我将通过一个骑自行车的示例演示State Patterns(状态设计模式)。我希望它能与你的学习方式产生共鸣,记住它,以供以后参考。
程序你好
2018/08/09
9120
面向对象设计模式:Java中的状态模式代码示例
GOF设计模式快速学习
这段时间,学习状态比较一般,空闲时基本都在打游戏,和研究如何打好游戏,终于通过戏命师烬制霸LOL,玩笑了。为了和"学习"之间的友谊小船不翻,决定对以往学习过的GOF设计模式做一个简单的回顾,这儿俺只是
用户1216676
2018/01/24
8150
GOF设计模式快速学习
Gof设计模式之工厂模式(四)
定义 工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 分类 简单工厂模式 工厂方法模式 抽象工厂模式(明天再单独讲) 简单工厂模式 实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例。简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。 工厂方法模式
用户1257393
2018/01/30
5640
Gof设计模式之工厂模式(四)
Gof设计模式之静态工厂模式(五)
设计模式之静态工厂模式 01前言 该系列模式已经更新五篇,希望大家可以多看看以前的模式,并且从今天开始我打算换一种讲解方式,我不在贴出运行结果了,希望大家可以自己动手敲一下代码,然后我会在下一篇中更新上一篇的运行结果 02模式定义 当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品对象。它有多个抽象产品类,每个抽象产品类可以派生出多个具体产品类,一个抽象工厂类,可以派生出多个具体工厂类,每个具体工
用户1257393
2018/01/30
6560
Gof设计模式之静态工厂模式(五)
Gof设计模式之建造者模式(二)
建造模式属于创建性模式,它就是将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。建造模式就是解决这类问题的一种思想方法——将一个复杂对象的构建与它的表示分离.使得同样的构建过程可以创建不同的表示。 Builder角色包括抽象建造者(Builder)角色、具体建造者(Concrete Builder)角色、导演者(
用户1257393
2018/01/24
6330
Gof设计模式之建造者模式(二)
Java 微服务中的聚合器设计模式示例
微服务架构中的聚合器设计模式是一种设计模式,用于通过聚合多个独立的微服务的响应来组成一个复杂的服务。它也是与SAGA、CQRS和Event Sourcing一起的基本微服务设计模式之一。当客户端请求需要跨多个微服务分布的数据或功能时,此模式是合适的。可以提高系统的性能和可扩展性通过允许每个微服务专注于特定任务并减少单个微服务的工作量。在本文中,我们将讨论如何使用各种方法在 Java 中实现聚合器微服务模式,例如异步通信、同步通信或两者的组合。我们还将提供代码示例来说明每种方法。
IT千锋教育
2023/05/31
5700
Java 微服务中的聚合器设计模式示例
Gof设计模式之单例模式(一)
今天开始更新设计模式系列,题目中Gof指的是《Design Patterns: Elements of Reusable Object-Oriented Software》一书的四名作者,俗称四人组,在此向经典致敬。该文讲结合我读这本书的心得外加这本书上的经典案例进行讲解,设计模式只是一种思想,并不是固定格式,所以如果以后看到的结构与本文中案例不同,并不能说人家就不是我们所说的设计模式,只要是思想是通的,那么就会相应的模式。大家千万不要死板死套。 今天我们所说的这个是单
用户1257393
2018/01/30
7150
Gof设计模式之单例模式(一)
Gof设计模式之装饰者模式(七)
转发于网络(过一段时间会更新一个自己的新版本) 定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。 设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。 要点: 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为 实际上Java 的I/O API就是
用户1257393
2018/01/30
5170
Gof设计模式之装饰者模式(七)
Gof设计模式之原型模式(三)
模式定义: 复制现有对象实例来创建一个新的实例 模式用途: 例如做发送邮件服务,发送给所有人的短信内容都是基本相同,只有收件人,收件地址不同,我们把所有的内容重新写一遍,将变得毫无意义,每一封邮件,我们只需要修改收件人跟收件地址即可,邮件内容我们前期定义好就不需要改变,在此就用到我们今天所说的原型模式。 模式原理: 在java中我们需要实现一个Cloneable接口,就可以实现实例的拷贝,Cloneable接口就是通知java虚拟机安全的使用实例拷贝,否则将报CloneNo
用户1257393
2018/01/30
6350
Gof设计模式之原型模式(三)
实践GoF的23种设计模式:SOLID原则
从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题。设计模式通常被定义为:
元闰子
2022/02/27
1.1K0
实践GoF的23种设计模式:SOLID原则
OOAD-设计模式(二)之GRASP模式与GOF设计模式概述
一、GRASP模式(通用责任分配软件模式)概述 1.1、理解责任   1)什么是责任     责任是类间的一种合约或义务,也可以理解成一个业务功能,包括行为、数据、对象的创建等     知道责任——表示知道什么     行为责任——表示做什么 责任=知道责任+行为责任   2)知道责任与行为责任     知道责任:       了解私有封装数据       了解关联的对象       了解能够派生或计算的事物     行为责任:   
用户1195962
2018/01/18
1.7K0
【Go实现】实践GoF的23种设计模式:命令模式
现在的软件系统往往是分层设计。在业务层执行一次请求时,我们很清楚请求的上下文,包括,请求是做什么的、参数有哪些、请求的接收者是谁、返回值是怎样的。相反,基础设施层并不需要完全清楚业务上下文,它只需知道请求的接收者是谁即可,否则就耦合过深了。
元闰子
2022/12/22
2900
【Go实现】实践GoF的23种设计模式:代理模式
它是一个使用率非常高的设计模式,在现实生活中,也是很常见。比如,演唱会门票黄牛。假设你需要看一场演唱会,但官网上门票已经售罄,于是就当天到现场通过黄牛高价买了一张。在这个例子中,黄牛就相当于演唱会门票的代理,在正式渠道无法购买门票的情况下,你通过代理完成了该目标。
元闰子
2022/10/16
3700
复习:GoF的23种设计模式之Strategy模式(行为型)
上面自己在不同场景三种行为,也可看作整体地替换算法。自己是抽象地,在不同场景实现不同算法。
营琪
2019/12/26
3190
复习:GoF的23种设计模式之Strategy模式(行为型)
【Go实现】实践GoF的23种设计模式:装饰者模式
我们经常会遇到“给现有对象/模块新增功能”的场景,比如 http router 的开发场景下,除了最基础的路由功能之外,我们常常还会加上如日志、鉴权、流控等 middleware。如果你查看框架的源码,就会发现 middleware 功能的实现用的就是装饰者模式(Decorator Pattern)。
元闰子
2022/06/29
2800
复习:GoF的23种设计模式之Bridge模式(结构型)
假如:我们经常继承父类,有实现父类抽象方法的,也有继承父类增加方法(功能)的。那么会出现如下图的层次结构:
营琪
2019/12/25
3560
GOF23种设计模式类型、描述和类图(中)
描述: 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理为止。
田维常
2020/02/13
4290
GOF23种设计模式类型、描述和类图(中)

相似问题

架构设计架构设计中有哪些常见的设计模式?如何选择并应用?

130

Builder设计模式和Factory Design模式有什么区别?

21.1K

java 的OCR 示例怎么携带header和参数?

3270

向量数据库赛道未来竞争的核心是什么?

0102

腾讯发布的向量数据库有哪些核心能力?

0185
相关问答用户
擅长3个领域
腾讯 | 技术专家擅长2个领域
擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档