00:00
行啊,那这个之前这个模板那天不是给大家都发去了嘛,对吧?啊,整个这个模板就发去了,那么就是这个古地教育啊,就是这个模板,那这个模板呢?呃,我们下边的这几张图片是我后来给大家放下去的。啊,后来给大家放在放在这里边的,还有这几张图片呢,你不用看啊,不用看咱们一会呢。跟着走一遍,你这几张图片其实是配这个,呃,不是轮播图,是配那个验证码,只不过这个东西是在咱们第二天才会用到的,配验证码的时候要用,只不过呢,连看都不用看,到时候咱们讲一遍你就知道他怎么去配了。对吧,那么完了以后呢,我们还是按照咱们这个呃文档我们开始对吧,那么这个文档呢,呃,和这个博客一样,我给大家总结了19点。啊,一共是19个大点啊。一直到我们的最后啊,第19个大点呢,最后是咱们在干嘛。项目上线啊,展示完了,咱们这个项目就完了,那么咱们就从第一个点就开始呗,对吧,那么第一个点呢,还是干嘛呀。
01:03
分析页面我说过啊,就是当我们一个新的项目开始的时候呢,他会给咱们模板嘛,对吧,给了模板以后呢,你第一步啊,就是干嘛分析这个页面,统揽这个页面,当然在公司里边干活的话,咱就不需要了,为什么?因为在公司里边干活的话。都会商量好了啊这些东西。都会开会商量好去决定我这个APP有哪些,但是目前咱们不是呀,咱们目前处于教学阶段,处于教学阶段的话,这些页面是不是都是别人给咱们写好的。啊,他又没有给咱们开会,说这里边儿有几个APP,所以说咱们就得干嘛,自己从他的页面当中去分析出来这些东西,而在博客里边,我给大家说过,我们在看页面的时候主要有三件事,还记住哪三件事吗?第一件事是不是就是分析我的APP啊,抽象我们的模型类啊,看他有多少个模块对吧,第二件事是不是就看出心中做到有数法,就是说他怎么去做的继承吧。
02:00
对吧,这是第二件事,而第三件事是不是就是我们在写模型类的时候,我们需要从它当中去看作案啊,有哪些表要从那里边去查出来,所以说呢,这是我们分析页面的三件事,那么呢,这一次呢,咱们也是啊,根据分析页面,咱一件事一件事去搞定它啊,先看我们的APP如何去。涂上啊。那么呢,我就打开我们的模板。在这个atl当中呢。这些页面咱都要去做。这是多少啊?啊,22个啊,22个页面到时候咱们都要做对吧,那么呢,咱首先看的是谁啊。是不是index这啊这个首页。好,我们打开这个首页来看。那这样的话呢,你先扫描这所有的这个这个首页首先。
03:00
这是啥?这肯定是登录注册那块吧,所以说用户模块不用想了吧,他肯定有一个和用户相关的模块,对不对,完了以后呢,我们再往下走。这里边这儿是不是有个公开课程对吧,下面是不是有个课程机构对吧,有个课程机构,那这块呢,我们目前看到它好像有这么两个板块,那么这两个板块是否也是。一个是APP,这个也是一个APP呢啊,这次咱们还看不太清楚,看不太清楚,那么呢,我们到哪去呢?这是不导航啊,对吧,下边这些就看完了啊,整个首页就看完了,扫扫描它啊,然后这里边首页接着公开课授课教师和授课机构。那么呢,我们是不是可以点进去一个一个看啊,对吧,我点进去公开课。点击公众号以后,你发现这是这是一个什么页面。这是咱们的什么呀?这是详情页吗?
04:02
你看这是不是相当于把我们的课程全部列到这儿了,对吧,这是不是相当于咱们的列表页啊,对吧,他有他自己的列表页。然后我点进去这个课程。这是啥?这是不是才是这一个课程,你点击的那个课程的详情页是不是和我们的博客很像啊,对吧,所以说只要是有他的列表页和他自己独立的详情页,那么我就可以给他归成一个啥。因为每个模块可能都有每个模块的列表,业绩上去。对吧,也就是说我这个模块就是你什么课程的模块。OK不OK,他有自己独立的,我们再来看点击我们的授课机构。点击授课就请问这是什么眼?是不是也是列表页对吧,当我点击这个授课机构,点击它,这是啥。这是他的详情页啊好,也就是说授课机构它是不是有自己的列表页和详情页。
05:06
对吧,那么呢,我们就可以干嘛,把这个授课机构也给它归成一个什么。嗯,那目前咱们是不是有一个用户啊,对吧,是不是有个课程。是不是还有一个。社科机构啊。好了,知道怎么去归他的APP了吗?有自己独立的列表页和详情页,那你想想我课程的列表页和详情页,和你经过的列表页和详情页。能放到一个APP里面去做吗?可以,不是说他不可以,我可以全部给他放到一个APP里面去做,但是。你别忘记了,到时候你那URL里面是不是会特别多,而且你做的时候是不是比较乱。因此咱们这样的话,既然你自己有自己独立的东西,那么呢,我就给你干嘛。拿出来。做一个APP单独的去用,OK,那么接着呢,我们上面就还有一个啥,还有一个授课教师,而授课教师呢,我们来看。
06:06
点击进去。在授课教室,你看这是啥?是不是也是列表A,对不对?点直播教师进去,哎,他这个链接没写对。授课教师,我们找一下子。这是不是有个teacher list,是不是还有个teacher好?贴着底粘进去,那么这是不是代表着是你老师的详情页对吧,所以说你说我们的老师是不是也应该给他做一个。独立的APP去做呢,是的啊,按照正常的思路是的,但是这一块我把这个授课教师给归到哪去了,归到授课机构里边去了,来看为啥啊,来看为啥,这就看你这个授课教师他难易程度,如果他特别简单。那我就没必要再干嘛再给他创一个APP去写了。能明白啥意思吗?如果他这个东西。
07:00
比较难,比较多啊,比较大,那我们就干嘛给他放一个独立的APP,那有些人就说袁哥,你既然把授课教师放到授课机构里边,那你为什么不把公开课放到授课机构边呢?我们来看公开课里边有多少。点个播个这是不是他的列表页,好,这还看不出来啥。点击我们随便一个课程,这是不是他详情页,好,这次还没完呢,同志们。这里边儿是不是还有个开始学习啊,当我点击开始学习,它还是属于课程的地方。你看了吗?对,这是属于课程的什么。是不是视频页面对吧,你点击是可以看视频的,对不对,完了以后呢,这边还有个啥评论页面,点击评论,你看它是不是又换了一个页面,所以说这是属于他的评论页面。因此他这个公开课里边的内容还是比较多的。啊,还是比较多的,但是有人说比哥你为什么把授课教师放呢?因为授课教师你看它有多么简单,它就两个页面。
08:00
一个列表页,而列表页上呢?你看就这么简单。这边是一个代表,这边是一个排行。嗯,页面简单,逻辑也简单。OK,好,完了,过了再有,我们来看它这个详情页。哎。详情页,它的详情页呢,也就这么一个页面。这块是不是显示你课程所有的数据啊,对吧,这边也是一个排行榜,其他的没了,一个都没了。所以说它这个页面比较简单,因此咱们就给它放在哪了。放在机构里边去做了,有人说你为什么放在机构里边来看,授课机构,授课机构的话,这时候他的列表页啊,对吧,我走他的详情页我们来看,因为这块有个什么呢。有一个机构讲师啊,这个机构讲师呢,他是不是和我们的老师还是有点联系的呀,对吧,所以我给他归结过来。
09:00
是有道理的。啊,当然有的同学说,要说我这个脾气比较比较比较倔。啊,我这个脾气不好。我就非要给他做成一个单独的APP行不行?行啊,他既然有自己单独的列表和详情,那我就可以给他做成一个APP,只不过你做成这个APP以后,那么干嘛呢?太简单了,你APP。做好了以后,就那么两个view完了。啊,意思就是你写了一个APP,里面其实就两个view就完事了,所以说因为它简单,因此我给他归到哪去了。归到咱们收票机构了。Understand好,所以说现在的话,我们目前。相当于是拿到了四个APP,但是有两个归到一个了。一个用户,一个课程,是不是还有个老师,还有个机构啊,这一共是四个啊,这四个呢,我们把老师和机构归在一块了,所以说呢,他算一个,因此现在是不是三个啊三个APP,那么三个APP以后呢,我们呢还会有一个APP,而这个APP是谁呢?
10:05
叫做用户操作。啊,用户操作我们来看一看啊。我们来看看,给大家画张图,说明一下咱们为什么要有第四个APP,而这第四个APP和我们前三个APP没有什么关联,其实如果我们有前三个APP,所有的页面的逻辑咱们基本上都已经涵盖了,但是我们还得需要这么一个APP,我们看啊。好,同学们,现在我们是不是有这么一个结构?这是咱们的三个APP啊,对吧,然后这里这里边呢,是我们的用户啊,用户也就是我们的user斯,这到就是我们的APP对吧,然后完了以后这边。
11:02
这是我们的谁呢?课程。课程。课程呢,我们到时候叫process。Cross啊,然后而这边是不是我们的机构啊,对吧。结构,而结构呢,我们到时候叫。GS。Organization organization的这个这个缩写。Organization是不是机构的意思啊?对吧,给它简称这个OGS,那么这三个。谋划。我们这时候呢,会有这么一个表,而这个表叫什么呢。叫做。用户。收藏课程。用户收藏课程。OKOK,那么用户收藏课程,你说我应该把这个表归在用户里边,还是归在。
12:05
课程里边。用户里边是吧。用户的用户收藏课程吗?对吧,那你用户在收藏课程的时候,是不是肯定要把这个表。是不是导到这边来去用啊。用户收藏课程吗?对不对,你肯定要把这个课程是不是导到这边。是不是让他去做关联嘛,对不对,好到这边去用,那么还有这么一个表,这个表呢,叫做课程评论。科学评论。这个表是不是咱们大家都遇到过文章评论嘛,这次咱们是课程评论,其实到底是一回事啊,那么课程的评论表,你说咱们是应该放在用户里边,还是放在课程里边,课程里边的,那课程里边我们是不是用和用户相关的字,所以说你是不是就得把这个用户。
13:04
表是不是到这边来好,那么呢,同志们,这样它就形成了一个什么。对护导。而这个货导是咱们程序员最怕的一件事情。这叫什么循环找包?我不知道你们在学习包的时候,老师没有,有没有给你提过这个这个问题啊啊。我都有,你你都有。对,就是我中有你,你中有我。当时咱们老师在讲包的那块,模块和包的那块,应该给大家提过,这是咱们的大忌吧。对吧,那么这个玩意儿它就相当于啥呀,就相当于是我现在定义俩函数啊,我定了一个F1函数,我定义了F f2函数,F1里边掉了一个F2 f2里边又掉F1,它俩会抽一个什么东西。是不是死了?
14:01
那。我我而且我没有给你,大家肯定想到了地归了,你地归是啥?你地归是自己掉自己吧,自己玩自己,而且地归的两个条件是啥条件。第一个肯定有一个趋势。你肯定是要有一个上升或者下降的这么一个趋势。因为你每一次的值是不是要改变啊,对吧,第二个条件,你肯定要有一个结束条件吧。要不的话,你地归不就也成死了吗?一直跟着自己玩自己。玩到死,所以所以说这个递归它本来也是要有结束条件的,而现在我们这个玩意就相当于F1掉二分二还没有结束条件。两个发出你大脑里面想,我现在上面有一个F1,我下面有个F2 f1里边掉了掉了一个F2 f2里边又掉了一个F1。还没有接受条件。你说呢?你怕不怕?
15:01
那就直接就凉凉了。你怎么玩?所以说。在这玩就相当于是那个样子,你呢,用户你给他调我的课程,而课程呢,又可以调调我的用户,其实你说这种东西咱能不能玩了,可以玩,但是避免这样的东西,因为他有可能会发生什么,发生我刚才说说的那个情况。啊,你在拿数据的时候,从这边儿从这个优找到了课程,课程呢又找到用户,用户又跟着找课程,课程又跟着找用户,形成一个环。那就尴尬了。能明白啥意思吧,所以说呢,我们尽量是干嘛呀。避免这种情况发生。啊,那既然我们要避免这种情况发生,所以说呢,我就给大家写了第四个APP,而且这是我们大家在外边儿去玩这个前后三不分离的时候。
16:00
所经常用不是前后端部分里,是玩web的时候,我们设计APP的时候所经常用到的一个什么架构,这就牵扯架构了啊。那么这个架构呢,我们去干嘛。我再给他设计一个APP,而这个APP呢,是站在他们三个人之上的。OK,看他跟三个人之上了,我不跟你三个人平行,我这个APP呢,我就给它叫什么呢,叫做。啥意思啊?操作,我就是专门用来处理什么用户操作的,因为只有在用户操作的时候才有可能出现这种什么。循环导报。能明白什么意思啊,他有可能出现这种循环导报,那么呢,正而我就干嘛呀,我就通过建立我们的上层APP去解它俩之间的这种循环导报。啊去简化这种关系,那么这次我们大家再来看看。
17:00
他怎么就解了呢?我呀,我这么干。啊,我这么干。你用户你不是要学习课程吗。对不对,用不是收藏课程用户,你不知道收藏课程吗?那你这张表是不是放在这里边你。不是要让用户评论你吗?你的评论表是不是放在这里边对不对,那我这次我不这么干了啊,我不这么干了,我把你的用户操作的表全部放在哪呀,放在我上层的APP当中。OK不OK,那么你用户。用户评论也罢啊,用户收藏课程也罢,请问这是不是都是用户的评论啊,不是用户的操作呀,对,那你既然是用户的操作,我就专门给你建立这么一个上层APP,给你放到这个表当中。那么这会儿用户的评论是不是要用到我们的用户以及课程来,好,那我就把你用户是不是导到我这个APP来,好,然后把你课程是不是导到我这个APP来,对吧?那么。
18:10
这个APP是不是就作为它中间的一个APP。在那干。这张表。对吧,他们两个就永远不会干嘛,他们两个永远不会让他们两个私下去斗去。你又逗我来。来,我这个operation里边都来。能明白什么意思吗?这样的话,他就不会出现什么循环导播的问题了。能看懂我这个图吗?用户的表是不是在这里边儿,课程的表是不是在这里边好,那么现在用户和课程之间,用户要学课程,课程要被用户评论,他们俩如果没有上层APP,他们俩之间是不是就开始斗了。对吧,你呢要导我,我呢要导你就形成一个循环导包,而现在的话,我就设计我上层另外一个APP,这个APP呢,就专门去做什么用户操作的用户操作,那么无论是你用户评论课程,还是你用户收藏课程,还是你这个。
19:13
后边所有的用户操作,那我全部干嘛呀。把下边的user是不是导进来,把课程是不是导进来,和他俩之间有没有互相导啊。没有这样的话,我把表是不是建在这里边。不就完事了吗?把你用户操作的表建立在operation这个里边,不就搞定了吗?那么他俩之间就不会干嘛,不会出现这种循环导播的问题了。能明白我说的什么意思吗?因此咱们的最终APP还要加一个谁啊?Operations,你要知道我加这个operations是为啥?啊。On the。
我来说两句