00:00
好,我们继续向下进行来说我们下边一个概念啊,嗯,还是创建一个新的文件,我们叫做一个模块。呃,我们先写上啊模块。模块啊模块呢,我们英文叫做一个猫者mole啊,就是一个猫者,我们就一个模块,那什么叫模块呢?呃,模块呢,我们要提到一个词叫一个模块化啊模块化。呃,模块简单理解啊,我们模块其实它和相于什么呢?相当于一个整体和部分的一个关系啊,我们的一个呃模块指的就是什么呢?哎,模块。模块化值,哎将我们一个这个完整的一个什么呀?哎程序哎干嘛呢?哎分解成什么呢?分解为一个一个小的什么呢?小的模块啊小的模块哎通过什么呢?通过将我们这个模块组合,哎组合来干什么呢?哎来哎搭建出。
01:11
呃,一个这个完整的功能啊,完整的程序。完整的程序,这就是一个模块化,那这么说可能不太不太听听得明白对吧,那我们简单理解一下,简单说一下,那我们先说不用模块化啊,不用模化。不采用我们这个模块化,不采模块化我们怎么编译程序,那么是什么呢?哎,我们是统一将什么呢?哎,我们这个所有的代码,诶编写到什么呢?一个文件里,这就是我们说的不使用模式化,你写一个游戏,你写一个什么什么程序也好,你把这个程序里边的所有代码统一保存到一个Python文件中,那这个时候它就没有采用模块,那这就是一个不使用模块的一个情况,那采用模块呢,哎采用模块。
02:02
哎将什么呢?哎将我们这个程序,哎分别什么呢。编写到我们这个多个文件中啊,多个文件文件中,这就是一个最简单的一个对比,不采模化就是我们把一个代码,所有的代码编到一个文件里,而采用模块就是我们要将一个什么呢?将我们的代码分别保存到多个文件中,就是一个模化,就是一个什么呀,化整为零的过程啊,模化就是一个把一个大的程序分解成一个一个小的模块这么一个东西,诶那我们想一下,这个模块化好还是不使用模块化好,模块化好还是不使用模块好。我们想一下。哎,那这里边其实呢,它各有各的优点,但是我们这里边既然要说模话,我们主要就来说模块化的一个好处,所以在这我们来说一下模块化的一个优点,那我们想一下我们模块有什么优点,诶我们简单总结一下,诶那第一个优点,哎,方便什么呢?诶方便我们这个开发啊,风险开发什么意思?那我们都知道,我们到了工作环境里边,我们做一个项目,我们做一个软件,是不是我们一个人去独立开发呀?诶我们说了,大部分情况下,我们都需要小组去协同,也就是说我一个项目组里边可能有很多个人,我很多个人是不是一块儿去开发一个项目呀?好,那假设你不使用模块化,那也就意味着你的项目是不是都写到一个文件里呀?诶,那问你了,你这有十个人开发一个项目,你A往这文件里写,B往这文件里写,C往这文件里写,B也往这文件里写,多个人同时往一个文件里去编辑。
03:43
那会出现什么问题啊,哎,你可能加个东西,我说删个东西,你加个东西,我删个东西,那是不是这个文件非常不好维护啊?哎,经常这个文件要发生冲突,很可能你的代码把我的代码覆盖了,我的代码可能又把你的代码覆盖了,别人把你代码删了,你可能就把别人代码给他删了,不方便我们去开发,懂意思吧?哎,不方便我们去开发,然后第二一个呢。
04:05
诶不方便开,方便开发是吧,模块化优点就是方便开发,还有什么呀,方便我们的一个什么呀,方便我们的一个维护,其实这两个基本上是一个事儿,你把你的所有代码写到一个文件里,好,你要改,你要改怎么办呀?诶你得从你这个大文件里把你那个写那个小代码是不是给找着啊,诶很麻烦啊,很麻烦,而你把这个文件,把这个程序按功能分成一个一个模块,A模块A功能,B模块B功能,C模块C功能,那这个时候你A功能出问题了,你就改A模块,B功能出题了就改B模块,C功能出问题了,是不是改C模块,你直接就可以去找对应的模块去修改啊,而不用去整个一个大文件中去改啊,方便我们去维护啊,方便维护,诶,然后第三一个呢,诶第三一个什么呀?诶我们的什么呀?哎,我们的模块可以什么呢?哎可以复用啊可以复用。
05:00
这个也是我们最大的一个好处,什么叫可以复用?好那现在我们说一下,我们真正去开发软件,去做一个项目的时候,我们的项目,每一个项目跟每一个项目之间,他们是不是完全不同的,诶大部分情况下都不是完全不同的,就是我们项目实际上大部分内容都是很接近的,只有一些细节地方不同,那好,那假如说我们的模,我们没有采用模块,好那这个时候我们作为功能,把所有的功能都写到,统一写到一个模块里,那我可能包含什么呢?包含A功能,B功能。C功能E功能,E功能F功能,包含这么几个ABCDEFF这么几个功能,对吧,这是我做的一个项目,好,这个项目做完了,做完就做完了吧,无所谓了,那我现在我又接到了一个新项目,这个新项目呢,跟那个项目不一样,但是它包含什么呢?诶包含A功能,诶C功能,De功能,哎,F功能,它包含了这四个功能,然后可能还有一些其他的功能,但是它包含了acdf这四个功能,那我们知道这个功能在我们之前写的项目里边是不是也有这四个功能啊,那这个时候我们就想,诶,如果我把之前写的这个代码,我直接拿到这个项目里来,那我是不是减少了很多的开发工作,我是不是省很多事儿啊?诶省很多事儿,但是能不能拿过来,诶对不起,你是拿不过来,为什么拿不过来?因为你之前的代码都写成了一坨,写到了一起,如果你想把它拿出来,你得从那一坨代码里边,把你这个专门的几个功能给它挑出来,那。
06:38
这个时候你会发现挑的工作还不如重新写,你挑代码是非常非常什么呀,非常非常麻烦的,对吧,所以这是我们说没有漫画,但是如果我们用了文化以后,好,我们将我们的第一个项目可以分成什么呢?ABCF这么几个模块啊,AB模块。B模块,C模块,D模块,E模块,还有什么呢?还有F模块分成了这么几个模块去开发的,我把这几个模块统一合成到一起,完成了我第一个项目,完成我第一项目,好,那现在我要做第二个项目了,第二个项目我说了,它需要A模块,C模块,E模块,还有F模块,需要acdf这么四个模块,它有这个功能是一样的,那我怎么办?我还用不用重新写了,不用这模块是不是现成的了,我直接把这个模块给它拿过来,我是不是放到我的二的项目里,然后我二项目里边再需要什么博别的模块,我再去单独开发是不是就OK了,那这四个模块我还用不用重新写了,哎,就不用重新写了,直接用以前的改吧改吧就OK了啊,改不改就OK了,那这样是不是降低了我们开发的成本啊,省钱了对吧,省钱了,所以以后你们到公司工作以后,你会发现你去做一个项目的时候,其实你真正说我去完全去写一个新项目的情况下,其实并不多,大部分情况都是什么呀,我把我以前写代码我。
07:59
把我以前写的模块给它重新组组合,组合完了以后我再去修改,再去添加一些新的功能,我一个新项目就出来了,哎,降低我们的一个开发成本,可以复用,那这个例子就像什么呢?举个例子是吧,像我们以前玩那种游戏机,最早的时候我们玩那种游戏机是吧?可能是那种掌机很小是吧,上面一小屏幕叫什么呀?俄罗斯方块对吧?俄罗斯方块那那个时候可能有几个按钮是吧?有个什么方向键是吧?哎,咱们简单示意一下。
08:27
然后呢,有几个按钮这么一个东西,诶,你可以控制俄罗斯方块,那那个时候我们的游戏跟我们的游戏机是绑定到一起的,游戏和游戏机我们叫什么呀?叫耦合到一起的,什么叫耦合,藕断丝连,就是藕很难掰断啊,很难分开这个偶那游戏跟游戏机是耦合到一起的,那这个时候我们要想换一个游戏,比如说我这个游戏机是玩俄罗斯方块的,我想换一个玩,我想玩个玩个小赛车,或者玩个别的游戏,那这个时候我要干嘛?哎,那对不起,你说你想换游戏是不可能的,你只能干嘛,你只能重新买一个新的游戏机,只能买一个新的游戏机,但是那个时候你会发现那个新的游戏机的结构,它的这个屏幕也好,这个壳也好,按键也好,跟我们这个旧的游戏机是一模一样的,只是什么不一样,只是游戏不一样,那这个时候你要去换整个游戏机,那是不是就很麻烦呀?诶很麻烦,成本很高,那现在我们有了,后来进化了,进化到什么呀?我们这个任天堂FC对吧,小霸王其乐无穷,那这个时候他的游戏跟游戏机是什么呢?
09:27
是分开的游戏是什么呀?是以卡带的形式往里插的,你就说你想玩什么游戏,你就插什么卡,你想玩这个超级玛丽,你就插超级玛丽的卡,你想玩魂斗罗就插魂斗罗卡,你想玩什么游戏是不是就插什么卡呀,那这个时候是不是就是一个有模块,还有一个没有模块的一个区别呀,我们那种FC的游戏机,它用到了模块,我们玩游戏我不用换游戏机,我直接换卡就行了,而我们之前那种小的掌机,那我游戏和游戏机是绑到一起的,你要想换游戏,连续一机一起得换,那这是这么一个好处,同样还有什么呀,我们的电脑,我们的电脑分成几个部分,主板。
10:05
CPU,内存、硬盘等等等等各个部分,那实际上每一个部分都是一个模块,你说你想用I7的CPU,你把这个CPU插到主板上,你想用I5的CPU,把这个CPU插到主板上,你是不是可以随便换呀,你说我内存八个G不够用了,我换一个16个G的,我硬盘一个T太小了,换个两个G的,我是不是都可以拔下来就换上去,那这个就是一个模块化的一个什么呀,最好的体现可以方便我们的一个什么呀维护,你想去更新,想去换直接换就行了,但是反过来说,有一些计算机,它是超级本,它的CPU,它的这个什么呀?诶这个内存,它的这个硬盘,它的显卡,很多情况下都是直接焊死到主板上的,这个时候你说我电脑想升级,能不能升级,对不起,升不了级,想升级怎么办?把这个电脑扔了,直接换一个什么呀,新电脑,那这样是不是导致我们这个成本会很高,哎,成本很高,所以模块化的好处,它就是把我们一个大的程序给它分成一个什么呀,一个一个小的模块,给我们带来好处,第一个方便。
11:05
我们开发我可以干嘛呀?诶A员工开发A模块,B员工开发B模块,每一个人分到一个模块,我们方便我们去开发,第二个方便我们维护出了问题,我好定位,我不用去那个大文件里找,直接去每一个模块里去找就OK了。第三一个可以复用,也就说我这个模块我开发完了以后,我一次开发可以用多次,我这个项目里用那个项目,用那个项目也也能用,方便我们去复用,节省了我们一个什么呀成本啊,那这个是我们说的一个模块化的一个介绍,那模块化在我们拍子里,我们要怎么用呢?诶别着急,我们先停一下,待会我们来讲解一下。
我来说两句