设计模式
设计模式
沐果果
工作不分你我,做事不分边界,每个人都有值得学习的地方,每个公司都有值得学习的内容,每个事物都有好的一面,不太太乐观,也不要太悲观,努力做一个积极向上的人
展开
-
建造者模式之通俗易懂
1、是什么 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 构建者模式一般用在构建流程或者组成部件固定的场合,将这些部件分开构建成为组件对象,再将这些组件对象整合成为目标对象。 有以下几个角色: 1 builder:为创建一个产品对象的各个部件指定抽象接口。 2 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并 提供一个检索产品的接口。 3 Director:构造一个使用Builder接口的对象。 4 Produc原创 2020-05-17 23:16:06 · 163 阅读 · 0 评论 -
装饰者模式之通俗易懂
1、是什么 一句话:需要包装,但不改变本质(同宗同源)。 在不改变原有对象的基础之上,将功能附加到对象上。提供了比继承更有弹性的替代方案(扩展原有对象功能) 特点: 1、注重覆盖、扩展。 2、装饰器和被装饰器都实现同一个接口,主要目的是为了扩展之后依旧保留 OOP 关系(同宗同源)。 3、满足 is-a 的关系。 2、有什么用? 扩展一个类的功能或者给一个类添加附加职责 给一个对象动态的添加功能,或动态撤销功能。 IO 流包装 FilterInputStream filterInputStreasm = n原创 2020-05-17 22:46:00 · 186 阅读 · 0 评论 -
单例模式之通俗易懂
1、是什么 整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建 类构造器私有 持有自己类型的属性 对外提供获取实例的静态方法 2、干嘛用 Windows的Task Manager(任务管理器)就是很典型的单例模式(这个很熟悉吧),想想看,是不是呢,你能打开两个windows task manager吗? 不信你自己试试看哦~ windows的Recycle Bin(回收站)也是典型的单例应用。在整个系统运行过程中,回收站一直维护着仅有的一个实例。 网站的计数器,一般也是原创 2020-05-17 18:24:13 · 195 阅读 · 0 评论 -
代理模式之通俗易懂
1、是什么 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用 办事要求人,所以找代理。 结构型设计模式 2、干嘛用 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。值得注意的是,代理类和被代理类应该共同实现一个接口,或者是共同继承某个类。 远程代理 虚拟代理 安全代理 智能代理 (1) 当客户端对象需要访问远程主机中的对象时可以使用远程代理。 (2) 当需要用一个消耗资源较少的对象来代表一个消耗资源较多的对象,从而降低系统开销、缩短运行时间时可以使用虚原创 2020-05-17 16:54:22 · 270 阅读 · 0 评论 -
工厂模式通俗易懂
废话不多说,还是三部曲,以下围绕是什么,干嘛用,怎么用展开 1、是什么 顾名思义,工厂模式就是一个工厂去生产和管理各个产品,让外部不用关注产品的细节,只知道和使用最终的产品。属于创造型设计模式 分类: 根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式 根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式 简单工厂模式 简单的对不同类对象的创建进行了一层薄薄的封装。该模式通过向工厂传递类型来指定要创建的对象,也就是在一个小工厂,啥都做,根据传过来的类型生产不同的产品 uml图 工厂方法模式(F原创 2020-05-17 00:42:13 · 357 阅读 · 0 评论 -
原型模式通俗易懂
首先也是遵从:是什么?干嘛用?怎么用三部曲。 相关详细概念网上铺天盖地,有些概念性的东西我就不复制了,只谈谈自己的理解和实现。 1、是什么? 根据字面意思都可以知道得差不多,原型模式,就是有一个原型实例,实现的话拷贝该原型创建新的实例,用的话就用新 的实例。他是创建型设计模式。 java类图 一共有三个角色 (1)客户(Client)角色 (2)抽象原型(Prototype)角色 (3)具体原型(Concrete Prototype)角色 分类 (1)浅拷贝:我们只拷贝对象中的基本数据类型(8种),对于数原创 2020-05-16 14:37:43 · 185 阅读 · 0 评论 -
观察者模式深入理解
观察者模式 要多想,理解后闭上眼睛,想象下生活中哪些场景用到,进而回顾平时代码生涯中哪些场景可以用该模式去实现。 1、概念 观察者模式是什么 观察者模式是一种对象行为型模式,指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。 闭上眼睛想象一下生活中有哪些类似的场景 ...原创 2020-05-15 13:06:37 · 264 阅读 · 0 评论