00:00
好,那这个说完以后的话呢,大家看一下我这个PPT哈,我这呢写了一个叫MVC的设计模式啊,这个有的同学呢,可能接触过,后边内容呢,可能听过啊,叫MVC的设计模式,就是我们呢,刚才提到了说在这个创建一个工程的时候呢,里边可能会有很多的类了,那这个类的话呢,我们通过这个包的方式呢进行管理,那这个管理的话呢,我们这儿呢,有一种设计模式叫MVC的设计模式啊,注意这个设计模式咱们也没有正式提过这个设计模式的啊呃,它不同于我们后边真正要讲的那种,呃,23种设计模式啊,他这呢里边去混合着,呃,这个里边的好多种设计模式啊。可能现在你说也听不太明白,嗯,你就主要的先关注一下这里边这个MVC这三个字,后边这几个呢,先忽略掉这样啊说MVC呢,是常用的设计模式之一,将整个的程序,或者说咱们写的这个项目,哎,分成三个层次,哎分别对应的叫视图模型层,也就是我们这个V。
01:02
啊,就view view就是视图的意思啊,哎,控制器层叫c controller,哎,控制器层与叫数据模型层,就是M,叫model。啊,所以呢,就是加在一起就是MVC啊,说这种将程序输入输出,数据处理以及数据的这个展示分离开来的设计模式,使得程序结构呢变得灵活而清晰啊,同时呢,也描述了这个程序各个对象之间的通讯方式,降低了程序的耦合性啊,就这块儿呢,是关于它的一个好处的一个说明啊。那具体来说的话呢,MVC哎,那么M呢叫模型层,我们这里呢,通常会定义这样的一些包。啊,那这个model呢,你可以是具体的,比如说某个项目,或者咱们公司的一个匿名,呃,这个域名的一个倒序啊,Com点硅谷点啊do啊,或者说呢,你这个公司的一个具体什么项目卡点爱德硅谷。
02:00
还在硅谷,比如说你是做了一个电商是吧,我这写了一个shop,或者写个Mo啊,这个大的商城下载一个DAO啊,这样前面这块呢,这个咱们就先暂时不用管了,具体你看公司呢,做的这个项目是什么,包括你公司的域名是什么,后边这些呢,诶,你通过这个具体的它的一个名大概就能看出来这个是属于哪一层的了,就啊像这个B。这里边呢,存放的或者叫抖慢啊,就是咱们的那个扎阿B。啊DA啊DB,这是涉及到操作数据库相关的这样的一些结构啊,那么这个view呢,叫视图,哎什么叫视图,大家我们可以简单理解一下啊,大家天天用手机,这个安卓手机,凡是大家呢,你打开手机,打开任意的一个应用,你能够看到的,比如说这是一个搜索框。啊,这块呢是具体的一个,比如看新闻吧,啊,这是具体一条新闻,这呢又是一条新闻,这又条新闻,这块呢有几个按钮啊,这呢都叫识图,具体的每一块这样的一个结构都叫一个视图啊,那么跟操作这些视图相关的,诶我们放到这个叫view下的us,包括UI,呃,UI呢就是用户界面嘛,啊,User interface啊,跟用户界面相关的这个我们都叫视图层的啊,然后对应的这个叫控制层,叫controller,叫处理业务逻辑的。
03:20
啊,具体的比如说像这个就是页面上你想展示这些数据,我们对应的一些结构了啊,像activity啊,Fragment啊,Adapter啊,适配器,Service服务base,一些基础的鸡类,抽象的一些鸡类等等啊这个呢,都算是控制器层,呃,控制层。这样说的话呢,大家可能还是觉得很抽象是吧。啊,说了以后没什么概念,后边的话呢,咱们会这个讲了后台以后,咱们在搭项目的时候呢,就遵循这种MVC的这种设计模式了啊我下边呢,也放了一个图,呃,这个图呢,就大家可看可不看啊,这个我给你举一个例子。啊,就是大概呢,让你先理解一下这个MVC这种设计模式啊,比如说呢,大家都比较熟悉这个,呃,这个客户端手机了,都有手机,那我就拿手机这个来给大家去举例子啊,不管是这个我们前端这个设计,还是涉及到这个后台这块呢,其实都可以遵循这样的一种设计模式啊,嗯,比如说大家打开手机以后。
04:15
嗯,打开哪一种应用其实都可以哈,嗯,微信也行啊,那就微信吧,呃,打开微信的话呢,这呢,就是大家看到的是你的这个一条一条,这个联系人就是你你你你跟这些人聊聊过的啊,下边呢,这不是有这个信息啊,朋友圈啊,我的呀等等这样的几个项是吧。当我们打开以后,首先呢,你进来以后会发现已经是有一些数据了。啊,已经是有一些数据了啊,那么当我们往上滑的时候。往上滑的时候呢,你往上一滑,你会发现这个后边这个这这一项呢,我们可以叫一个item啊。就是一项的意思,你往上一划,呃,这个下边的这些项呢,你就都可以看得到了,而且每一项里边呢,可能也会给你稍微呢,显示一些这个人的头像呀,哎,这个最近的你这条聊天记录啊等等这块都能看得到啊,其实你往上滑的时候呢,这块控制层控控制层啊变了音了是吧,这个控制层呢,控制器呢,就开始操作了,就是你往上一滑,你看到这每一个呢,咱们说了都是一个视图,那这个视图呢,它其实在我们这个界面当中,它其实没有那么多视图啊,你你往上一划,划了几百个,它其实就有有限多个,然后它只是复用的不同的这个视图了,就是你这滑出去了,它从下边又滚回来了,属于这个样子的啊,这个细节你不用管了,就是我们这里边的每一个结构,你看到都是一个视图。
05:41
那这个视图呢,就是我们这个叫view,呃,那跟这个view,这个view是呃长什么样子呀,呃这个这个多宽多长啊,什么颜色呀,诶我怎么给它装上的呀,这个都是这个视图层要考虑的,然后当你往上一划的时候呢,默认情况下,这里边都是一些空白的东西。哎,那我们需要把这个数据是不是都得装上去啊,哎,那你装这些数据,这个数据呢,首先它是在数据库的,那我们去这个数据库里边把这个数据呢给它调出来,诶那涉及到相关的API呢,我们都叫做模型层,那你这个我通过这个,呃,相应的这个Java的语法,我去调了这个数据库东西了,调出来了,但是这时候调完以后呢,还不能马上呢,给它展示到这个视图上,那我们需要用这个叫控制器,这控制器呢帮你一点点给你装上去。
06:28
啊,装上去给你显示出来,你这里划的过程当中,你会看到哦,这条数据有了,然后呢,划过去了,一会儿又出来了,诶又重新给你装一条数据,诶这里边呢,就涉及到不停的去数据库当中去数取数据,这样的逻辑呢,是在这儿,然后帮你去装,哎包括呢,你看下边我们这有几个项啊,我点这块,哎显示的是它,哎我点朋友圈啊立马呢,呈现的是另外一个界面了啊那也都是控制器帮我们去把这个数据呢一一点点呈现出来的。啊,那这里边凡是涉及到一些视图,甚至有一些我们这个像安卓手机可能更明显一些哈,你会发现有一些应用的用的一些特别炫的一些小图片呀,或者一些呃小插件啊等等,那都是他自定义的一些视图啊,那这呢,都是属于这个视图这个层面他要解决的问题。
07:14
啊,就大概呢,大家能有这样的一个感觉哈,通过讲这个呢,呃,主要呢,让大家去体会呢,就是我们一个项目呢,可能这个涉及到的这个类呢,非常多,诶我们就把这个相应的类呢,你到底属于哪个包,我们就给它归到哪一块,整体来看就有很多的包,当你哪一块出问题了,你就去相应的那个包下呢,那你看那个问题在哪,哎这样的话呢,就直接可以定位这个问题所在了,啊使我们整个这个结构呢就变得很清晰。啊,是这样的一个情况啊,而不是说呢乱七八糟的,这呢叫包一,下边叫包二包三,写了50个包,30个包,然后呢,回来找的时候呢,崩溃了啊,去哪个包里找不知道是吧,只要涉及到跟数据库交互出问题了,你就奔着这块去。啊,它就不会有问题了。啊,是这样的一个情况啊,大家呢,目前先大概有这样的一个意识就可以了,啊这呢简单说了一下MVC的这种设计模式。
我来说两句