00:00
那static的话呢,这个关键字我们就讲到这儿了,在接下来呢,我们讲关于static也算是一个应用,这个应用呢叫做一种设计模式,这个设计模式呢,叫单立的设计模式,这个单立显然呢是来修饰这个设计模式的,那属于设计模式当中的一种,那首先呢,我们先来关心一下叫什么是设计模式。什么是设计模式?这呢有一段话大家来体会一下,设计模式是在大量的实践中总结和理论化之后,优选的代码结构、编程风格,以及呢解决问题的思考方式。设计模式呢,就像是经典的棋谱,不同的棋局我们用不同的棋谱,免去我们自己思考和这个这个摸索,那后边我写了一个这个设计模式呢,就好比是我们平常所说的这个套路一样。套路,比如说追女生都有哪些套路,网上一搜啊,可以这样这样这样这样是吧,哎,就是遇到这种女生呢,你得这样去处理,用的量呢,得这样去处理,你要用反了,有时候不好使是吧,也没有共鸣,没用过是吧?啊哎,我也只是说一说,我也没用过啊,那这里呢,我们设计模式就是说的这样一个事情,我们现在呢,比如说想起一个这样问题,那我们呢,这个。
01:24
设计模式当中给你提供了一下,说你要解决这样问题呢,可以按照这样一个套路来,这有一个步骤啊,1234,你就按照这个步骤步骤来就完成了,比如说像这里提到叫单立模式,单立,单立就是单独的一个实例,实例那就是对象的意思,也就是说呢,我们只想让这个类呢,就造一个对象,那怎么完成这个事儿呢?说呢,有一个套路,有一个步骤,你就按照这个步骤1234去做就成了。这就我们所谓的叫单立的设计模式,那除了这种单立的设计模式呢,还有很多,那么我们这儿呢,一共是有经典的叫23种设计模式,站长你看这种关于创建型的,关于造对象相关的,这有五种,关于结构型的,关于行为型的是七种,是一种一加23种。
02:13
注意这个设计模式呢,跟我们所说的数据结构呢,嗯,有点类似,什么意思呢?就是它是独立于我们这个语言的,我们说呢,设计模式咱们呢,可以从Java的角度去说设计模式,也可以通过其他的语言的角度去说,比如Python语言,Skyla语言,Go语言,是吧,我们可以换一种语言来去谈这个设计模式,就像这个单类模式,我们可以考虑用Java去写,也可以考虑用其他的语言去写,是这样的一个情况,它是独立于具体的编程语言,只不过呢,大家可能去网上查的时候,你会发现用Java这个来写这个设计模式的较多一些,就是Java呢,在设计模式这块呢,用的比较频繁,这个体现的比较多,比较丰富一些,所以说呢,用Java来写这个设计模式的东西呢,要多一些,哎,就是这两个意思,那么具体的每一种设计模式都是什么意思呢?大家首先不用花时间去研究了,尤其咱们现在还是一个初级阶段,那像这种代理模式啊,外观模式啊,桥接模式啊,可能很多时候你都没有见过,那讲这个呢,单纯去讲也没有什么意义。
03:13
记,所以呢,大家还是先去学这个知识,等到以后工作的时候呢,哎,你也写过很多代码了,这时候呢,整一本书说叫设计模式了,这时候你看一看,哎,你一边看的话呢,你会一边有共鸣哦,这个问题我在开发中这样用过,诶我原来是怎么写的,那现在的话呢,它是什么样子的,或者再看到一种设计模式发现,诶好像我们用的Java的某一个类里边的某个功能,它就是用的这种设计模式,这个时候呢,你再看就有感觉了,就现在你看的话呢,只能看到感觉,看不明白,看不进去啊,就是这样一个情况,这呢,我也给大家去提供了两个设计模式的这个电子书,这个呢叫大话设计模式。应该听过这个吧。没有,这个大画呢,算是这个名起的挺好的啊,嗯,有个大画书结构,还有个大话设计模式,这是一本书了,这个大家现在不用看,以后呢你可以这个这保留着工作以后啊,你可以慢慢的再去看是吧,然后这个呢,也是稍微整理了一下,这个结合了网上的一些这个相关的一些文档呢,这块整理出来一个关于这些23种设计模式的一个说明啊,每个呢都有一个图,以及相应的这个举例子,然后后边呢,这有这个简化版的一个设计模式,诶大家呢,以后呢留着可以去看一看,好这呢是关于这个设计模式,先知道设计模式呢是怎么回事,这样就可以了。
04:36
OK,那那接下来呢,我们再说呢,那就是说什么叫单立的设计模式了,诶单立的设计模式只是我们所说的设计模式当中的一种,那么我们看一下单利是想干什么,以及呢,怎么干好,下边呢有这样一个描述,所谓类的单类的设计模式就是采用一定的方法保证呢,在整个的软件系统当中,对某个类呢,只能存在一个对象实例。
05:06
并且呢,该类只提供一个取得其对象实例的方法,主要的原因呢,就是想只创建一个对象。那么要想这么做的话呢,怎么办呢?下边再说了说,首先啊,你必须将类的构造器的访问权限设置为一个private的,这样的话呢,我们就不能用new操作符在类的外面呢产生类的对象了。你要在外边呢,能去调这个构造器,那它调的只要调一次我就造个对象,那可能就不止一个对象了,所以我要把这个权限呢给它先声明成private的,嗯,那么外边不能造了,那我们就得在里边呢去造一个,所以咱们在内部呢,去产生该类的这个对象,那因为呢,在内的外部呢,开始还无法得到类的对象,我们只能是调用该类的一个静态方法,以返回类内部创建的对象,那静态方法的话呢,又只能访问静态的成员变量,所以我们这个对象呢,还得成名成一个静态的。
06:00
这个逻辑呢,是非常严密的,呃,那接下来呢,我们就按照这样的一个指示呢,去完成一下我们单立的设计模式,行,那先把这个设计模式和这个单例大家先清楚大概是什么意思啊,接下来呢,咱们就开始去写这个代码。
我来说两句