随笔分类 -  设计模式

摘要:设计模式:学习笔记(14)——工厂方法模式 工厂方法模式 工厂方法模式又称为工厂模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体 阅读全文
posted @ 2020-06-17 10:30 子烁爱学习 阅读(265) 评论(1) 推荐(0) 编辑
摘要:设计模式:学习笔记(13)——策略模式 业务场景 完成一项任务有多种方式,每一种方式都是一种策略,我们有时候需要根据环境或者条件的不同选择不同的策略来完成该项任务。以读取数据来说,有许多算法可以完成同一种功能,比如从文件、缓存、服务器等,但他们的解决途径各不相同,从而提高系统的灵活性和扩展性,此时可 阅读全文
posted @ 2019-08-21 11:38 子烁爱学习 阅读(326) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(12)——代理模式 代理模式 举个简单的例子,打官司的时候,我们需要找律师,此时我们把案子委托给律师,此时律师和我们的关系就属于代理关系,即律师代理我们。这时我们再想,律师需要我们去阐述事实,同时可以帮我们事前做案情分析,事后进行案件记录等等,来使得我们的行为朝向更有利于我们的方 阅读全文
posted @ 2018-12-26 11:08 子烁爱学习 阅读(301) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(11)——外观模式 外观模式 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。 这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对 阅读全文
posted @ 2018-05-20 13:26 子烁爱学习 阅读(237) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(10)——适配器模式 适配器 适配器是什么,你一定不难理解,因为现实中到处都是。比方说:如果你需要在欧洲国家使用美国制作的笔记本电脑,你可能需要一个交流电的适配器...... 图中所示,交流电适配器位于两者之间,它的工作是将欧式插座转换成美式插座,好让美式插头可以插进这个插座得到 阅读全文
posted @ 2018-05-20 12:58 子烁爱学习 阅读(197) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(9)——桥接模式 桥接模式 什么是桥接模式 桥接模式是设计模式中最复杂的设计模式之一,它把事务对象和其具体行为、具体特征分离开来,使他们可以各自独立变化。 举个例子:有三个品牌的汽车,路虎,宝马,奔驰,每个品牌有两项特征,有无天窗、是否为自动挡。如果我们各自为其创建具体类的话,需 阅读全文
posted @ 2018-05-19 22:41 子烁爱学习 阅读(319) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(8)——装饰器模式 快速开始 装饰者模式,是一种动态地向一个类中添加新的行为的设计模式。这非常像给该类创建子类,从而扩展功能。但是装饰者模式比生成子类更加灵活,他可以给某个对象添加功能而不是整个类。 它的原理是这样的,增加一个修饰类包裹原来的类,包裹的方式一般是通过将原来的对象作 阅读全文
posted @ 2018-05-07 00:48 子烁爱学习 阅读(356) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(7)——原型模式 快速开始 介绍 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则 阅读全文
posted @ 2018-05-07 00:29 子烁爱学习 阅读(337) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(6)——抽象工厂模式 抽象工厂模式 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂都对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。此时我们需 阅读全文
posted @ 2018-05-06 23:44 子烁爱学习 阅读(370) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(4)——建造者模式 概述 建造者模式 建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。它关注如何一步一步创建一个的复杂对象,不同的具体建造者定义了不同 阅读全文
posted @ 2018-03-07 22:37 子烁爱学习 阅读(370) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(3)——简单工厂模式 简单工厂模式 我们都知道工厂是根据产品类的图纸生产产品的。简单工厂模式中,一个工厂类处于对产品实例化的中心位置上,它知道每一个产品,他决定哪一个产品类应当被示例化。 简单工厂模式允许客户端相对独立于产品创建的过程,并且在系统引入新产品的时候无需修改客户端,但 阅读全文
posted @ 2018-03-07 15:52 子烁爱学习 阅读(410) 评论(0) 推荐(0) 编辑
摘要:Java设计模式之命令者式 引入命令模式 案列 比如我们要设计一个DOS命令模拟器,它可以接受输入的命令并做出响应。 0.首先我们的DOS模拟器支持三个大类的功能:文件操作类(FileKit)、展示类(DisplayKit)、网络类(NetKit)。 1.建立抽象命令模板(默认所有的命令都可以使用上 阅读全文
posted @ 2017-05-19 23:37 子烁爱学习 阅读(879) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(2)——观察者模式 观察者模式 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象状态改变时,他的所有依赖者都会收到通知并自动更新。 就好像下面这样:当主题对象中的一些状态发生改变时,就会通知他的观察者,狗、猫、鸭子等,但是牛并不是观察者,所以不会收到通知。 从这幅图我们 阅读全文
posted @ 2017-03-16 11:35 子烁爱学习 阅读(327) 评论(0) 推荐(0) 编辑
摘要:设计模式:学习笔记(1)——单例模式 引入单例模式 什么是单例模式 对于某些类来说,我们只想其拥有一个实例,并且我们仅仅使用这一个实例:比如说线程池,缓存,对话框,处理偏好设置和注册表的对象、日志对象、显卡等设备的驱动程序的对象。这些类对象只能有一个,如果制造出多个实例,就会导致许多问题的产生。例如 阅读全文
posted @ 2017-02-11 00:24 子烁爱学习 阅读(557) 评论(0) 推荐(0) 编辑