首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
良良不是凉凉
创建于2021-09-27
订阅专栏
23种设计模式
等 3 人订阅
共28篇文章
创建于2021-09-27
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
职责链模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 职责链模式(Chain of Responsibility Pattern), 又叫责任链模式,为请求创建了一个接收者 对象的链(简单示意图)
策略模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 有各种鸭子(比如 野鸭、北京鸭、水鸭等, 鸭子有各种行为,比如 叫、飞行等) 显示鸭子的信息 我们传统的解决方式 代码十分简单,就不做过多解释
状态模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 状态模式(State Pattern):它主要用来解决对象在多种状态转换时,需要对外 输出不同的行为的问题。状态和行为是一一对应的,状态之间可
解释器模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 在编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法 单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。这 里
备忘录模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 备忘录模式(Memento Pattern)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢
中介者模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 中介者模式(Mediator Pattern),用一个中介对象来封装一系列的对象交互。 中介者使各个对象不需要显式地相互引用,从而使其耦合松散
观察者模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 天气预报的项目需求 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如 发布到自己的网站或第三方)。 需要设计开放型API
迭代器模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 迭代器模式(Iterator Pattern)是常用的设计模式,属于行为型模式 如果我们的集合元素是用不同的方式实现的,有数组,还有java的
访问者模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 评测需求 一个唱歌比赛,将评委分为男人和女人,进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价(评价有不同的种类,比如成功、失败等)
命令模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 命令模式(Command Pattern):在软件设计中,我们经常需要 向某些对象发送请求,但是并不知道请求的接收者是谁,也不知 道被请求的操
模板模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它
JDK代理&Cglib代理
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 动态代理 代理对象,不需要实现接口,但是目标对象要实现接口,否则不能用动态代理 代理对象的生成,是利用JDK的API,动态的在内存中构建代理对
代理模式—静态
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 在Java的反射时我们就应该接触过代理模式 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理 对象访问目标对象.这样做的好
享元模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 今天是一种网站展现的例子 需要的网站结构相似度很高,而且都不是高访问量网站,如果分成多个虚拟空间来 处理,相当于一个相同网站的实例对象很多,造
外观模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 组建一个家庭影院:DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的 功能,其过程为: 直接用遥控器:统筹各设备开关
组合模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系 组成,一个学校有多个学院,一个学院有多个系。如图: 看到这个需求,在
装饰者模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 今天是一个咖啡订单项目 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Deca
桥接模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 今天的例子是手机操作问题 对不同的手机类型的不同品牌实现操作编程(开机、关机、上网,打电话等) 扩展性问题(类爆炸),如果我们再增加手机的样式
适配器模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 我们举一个生活上的例子就是插座的问题。如我们出国旅游,我们所使用的电器插座的插口是不一样的,我们的插头无法直接使用,我们需要用一个适配去去做一
建造者模式
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动 既然已经是建造者模式了,那我们就用一个盖房子的案例来讲解一下建造者模式。 需要建房子:这一过程为打桩、砌墙、封顶 房子有各种各样的,比如普通房
下一页