设计模式
文章平均质量分 71
·码上修·
分享是种乐趣~~~修BUG也是
展开
-
设计模式——代理模式
其实在我们生活中各行各业也都会设计到代理,比如租房子,我们可以找中介公司,让中介公司帮我们去找合适的房源,这就是代理模式,再比如,有些同学找男朋友女朋友也会通过中间人去介绍,这也是一种代理模式。在我们编程中,由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这样代理对象就能给目标对象提供保护。...原创 2022-07-28 18:22:44 · 179 阅读 · 0 评论 -
设计模式——建造者模式
建造者模式也是我要分享的最后一种创建型模式,创建型模式还有单例模式、原型模式、工厂方法模式、抽象工厂模式,这些模式都在前面分享过了,有兴趣的同学可以往前面翻翻。好了,下面进入正题。建造者模式既然属于创建型模式,那么他就也是用来创建对象的,并且它是用来创建相对复杂点的对象,该类对象可以拆分成很多个部分。比如,一台主机是由CPU、主板、内存、硬盘、显卡、机箱等等组成,每个部位你都可以选取你想要的配置,最终组成你所需求的主机。建造者模式有四个主要角色(1)产品角色(Product)...原创 2022-07-18 18:31:39 · 488 阅读 · 1 评论 -
设计模式——抽象工厂模式
上一篇博文介绍了工厂方法模式,现在我们通过这篇文章来了解下工厂方法模式的升级版——抽象工厂模式,为什么说抽象工厂模式是工厂方法模式的升级版呢? 不知小伙伴们有没有发现工厂方法模式只考虑生产同一等级的产品,比如可口可乐公司生产可口可乐牌的可乐,百事可乐公司生产百事牌的可乐,反正都是生产可乐,这里百事可乐跟可口可乐就是同一等级的产品,或者说同一类产品可能更好理解。但是在我们现实生活中,许多工厂都比较多元化,可以生产多种等级(类型)的产品,比如小米公司既生产手机又生产电视机,华为也能生产手机和路由器原创 2022-07-08 18:05:03 · 192 阅读 · 0 评论 -
设计模式——工厂方法模式
提到工厂我们就离不开一个词——产品,在我们现实生活中,社会分工越来越细并且越来越专业,各种产品都有专门的工厂生产,比如现在马上入伏了,天气炎热,快乐肥宅水(可乐)我相信很多人跟我一样都离不开它,快乐肥宅水常见的俩个品牌就是可口可乐以及百事可乐,这俩种可乐分别来自不同的工厂,下面用代码来阐述下俩种工厂生产快乐肥宅水的过程。 首先我们得把工厂抽象出来,抽象工厂,这是该模式第一个主要角色 工厂是可以生产产品的,所以有个方法product(),product返回值是一个产品接口,也就是我原创 2022-07-04 16:39:24 · 220 阅读 · 0 评论 -
设计模式——原型模式
原型模式顾名思义,就是指以某个实例为原型,copy出一个新的实例,该实例属性与原型相同或者是类似。 很多时候,我们需要创建大量的相同或者相似的对象,如果一个个用new 构造函数的形式去创建的话比较繁琐,就像孙悟空要想变出成千上万个猴子猴孙总不能一个个去生吧,拔一根猴毛一吹就copy出了成千上万个猴子猴孙,我们原型模式原理也是如此,那就是clone克隆。 我们都知道JAVA中有个祖宗级别的类Object,每个类都默认继承它,它提供了一个本地方法clone(),代码如下:可以看原创 2022-06-30 17:40:29 · 246 阅读 · 0 评论 -
设计模式——单例模式
在有些系统中,为了节省内存资源、保证数据一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。 单例模式是设计模式中最简单的模式之一,通常一个类的构造函数是共有的,外部可以通过new 生成对应的实例, 但是,如果将类的构造函数设置为私有的,外部就无法调用,也就无法生成此类的实例,这时候,此类内部需要提供一个静态私有实例,并向外部提供一个静态的共有函数用于创建或者获取该静态私有实例。 说到单例模式,我们通常会联想到懒汉式跟饿汉式俩种实现形式。下面我们来分别说说这俩种模式。原创 2022-06-29 17:11:24 · 169 阅读 · 1 评论