设计模式
文章平均质量分 79
java的核心设计模式的实现
kongfanyu
这个作者很懒,什么都没留下…
展开
-
设计模式之十一中介者模式
概念大家都知道,电脑里面各个配件之间的交互,主要是通过主板完成的;试想一下,如果没有主板会怎样呢?如果电脑里面没有主板,那么各个配件之间就必须自行相互交互,以互相传送数据。理论上说,基本上各个配件相互之间都存在交互数据的可能。这也太复杂了,这还没有完呢,由于各个配件的接口不同,那么相互之间交互的时候,还必须把数据接口进行转换才能匹配上,那就更恐怖了。所幸有了主板,各个配件的交互完全通过主板来...原创 2020-03-31 13:57:33 · 184 阅读 · 0 评论 -
设计模式之十生成器模式
概念生成器模式的核心是当构建生成一个对象的时候,这个对象一般比较复杂。需要包含多个步骤,虽然每个步骤具体的实现不同,但是都遵循一定的流程与规则 。建造模式是将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调用者无需关心。类图角色Product(产品角色):一个具体的产品对象。Builder(抽象建造者):创建一个Product对...原创 2020-03-28 20:11:45 · 163 阅读 · 0 评论 -
设计模式之九原型模式
问题描述在开发中你也许遇到过大篇幅的使用get或set赋值的场景,例如:public void setParam(ExamPaperVo vo){ ExamPaper examPaper = new ExamPaper(); examPaper.setPaperId(vo.getId()); examPaper.setLeaveTime(vo.getLeaveTime());...原创 2020-03-26 21:54:42 · 359 阅读 · 0 评论 -
设计模式之八命令模式
生活场景: 普通用户电脑开机问题,客户端发出命令或请求,不关心真正的接收者是谁,也不关心具体如何实现,而且同一个请求的动作可以有不同的请求内容,当然具体的处理功能也不一样。同理: 老板(Boss)给项目经理(Leader)下达任务,项目经理会根据实际情况给每个员工派发任务,待员工把任务完成后,再由项目经理向老板汇报结果。概念将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化,对...原创 2020-03-24 22:40:50 · 149 阅读 · 0 评论 -
设计模式之七适配器模式
概念适配器模式(Adapater Pattern)是指将一个类的接口转换成用户期望的另一个接口,使原本接口不兼容的类可以一起工作,属于结构型设计模式。场景场景一已经存在的类的方法和需求不匹配(方法结果相同或者相似)的情况场景二适配器模式不是软件设计初始阶段考虑的设计模式,是随着软件的发展,由于不同的产品、不同的厂家造成功能类似而接口不同的问题的解决方法,有点亡羊补牢的感觉。生活中电源...原创 2020-03-21 20:41:28 · 175 阅读 · 0 评论 -
设计模式之六观察者模式
设计模式之六观察者模式概念观察者模式又叫做发布-订阅模式,定义了对象间一对多的依赖关系,使得当对象状态发生变化时,所有依赖它的对象都会收到通知并且自动更新自己。特点1)被观察者需要持有一个或者多个观察者对象。2)系统中一个模块的变化,某些模块也会跟随着变化。角色观察者设计模式涉及到两种角色:主题(Subject)和观察者(Observer)(1)Subject模块Subjec模块...原创 2020-03-20 20:15:07 · 137 阅读 · 0 评论 -
设计模式之五装饰模式
概念装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能。通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类这种方式并不可取。在面向对象的设计中,而我们也应该尽量使用对象组合,而不是对象继承来扩展和复用功能。装饰器模式就是基于对象组合的方式,可以很灵活的给对象添加所需要的功能。装饰器模式的本质就是动态组...原创 2020-03-19 18:12:52 · 144 阅读 · 0 评论 -
设计模式之四策略模式
设计模式之四策略模式譬如商城有优惠策略,①优惠券抵扣,拼多多有月卡就是一种②返现促销,满100返回20.③拼团,拼多多的核心模式。下面我们用代码模拟这个场景,首先我们创建一个促销策略的接口PromotionStrategy。Promotion促销的意思, Stragegy策略的意思案例一package com.hanker.io;//创建策略接口interface PromotionS...原创 2020-03-18 19:03:55 · 123 阅读 · 0 评论 -
设计模式之三模板方法
设计模式之模板方法两个核心关键字abstractabstract用来定义抽象类,一般位于继承关系的顶层或者上层;ArrayList就继承一个抽象类AbstractList,如下所示:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAcc...原创 2020-03-18 19:02:40 · 289 阅读 · 0 评论 -
设计模式之二工厂模式
设计模式之二工厂模式为什么需要接口在java中只允许继承一个父类。现实生活中的对象功能越来越强大,一个对象具备多种功能,如何进行描述这类对象的行为特征。譬如: 手机,基础功能是通话,发送信息; 高级功能: 拍照( 数码相机被干掉 ), 播放音乐( mp3,mp4,CD被干掉 ), 导航,播放视频。电视: 基础功能播放电视剧新闻, 高级功能: 联网,播放硬盘视频,播放MP3,连接笔记本电脑,...原创 2020-03-17 14:31:52 · 174 阅读 · 0 评论 -
设计模式之一单例模式
设计模式之——单例模式一般情况下,Java类的构造方法都是public的,这就意味着别人可以随意的创建该类的对象。但是有一种类型是在整个系统运行过程中只允许出现一个实例: 也就是只能创建一个对象。这类对象称为单例对象: JavaWeb的Servlet对象,MyBatis的SqlSessionFactory对象,Spring的BeanFactory对象都是单例的。单例对象发展成一个单例模式(Sin...原创 2020-03-17 14:27:06 · 311 阅读 · 0 评论