00:00
下面我们再来说一下啊,就类比一个三层架构,就是你直接这么说呢,你们完全没有感觉啊,我们来看啊,生活中的三层架构啊,他跟我们开发是一样的,我生活中的这个三层架构你整明白了,开发中你对应起来,嗯,就能理解哦,原来是这么回事,能明白吧,所以我们用生活中的例子来解释啊,这个比较难懂的这些概念。怎么搞这么高?我画一个图。啊画一个图,然后呢,在这边呢,我们是称之为是。这就是我的项目开发。哎,这就是我当前的一个项目开发,呃,不,这个是我当前的一个饭店。先来走,生活嘛啊,我们生活肯定是以吃为主吧啊。这边这边有个饭店啊,这边有个饭店,那饭店。很正常,然后我把你也画出来。
01:00
因为你是要去访问这个饭店,要去吃饭的嘛,是吧。我故意的,其实我可以画的一样的,我可以画一模一样。我试一下。反正每次都画不太好。可以吧?行了,你们的要求不要太高了。就差不多就行了,老师又不是专门搞绘画的,真是的,好了。这就是你啊,这就是你,这这是他,这这他好,不要说你不要自己对号入座,想我比他长得好看,是啊,来,你跑到饭店去吃饭,你,你总是要跑到饭店去吃饭,这个很正常吧?啊,跑到饭店去吃饭,你应该跟谁打交道?一进饭店,你该跟谁打交道?你是跑进去找厨子吗?你一进饭店应该跟谁打交道?服务员啊,你肯定你可能真的吃饭,我我去吃饭,我就看着饭店口味咋样,你吃饭你可能就看着饭店服务员漂亮不漂亮啊,这我也不不揭穿你,反正你去饭店吃饭,你先去找谁,不论哪个饭店。
02:16
你其实去了都是一样的,应该找的是谁?服务员,接待你的是服务员,服务员来接待你啊,然后就问你要不要,要吃什么,把菜单给你,然后在这等着拿个小本本,记你当天点吃什么,你点什么菜啊,那么这个地方呢,是服务员。当然现在都有那种点菜饱了嘛,就更方便了,你说他一边就下单了,厨师就收到了啊,那么你到饭店去吃饭就是固定的,你肯定是跟服务员打交道,然后服务员呢,他他去跟谁打交道。服务员下要把你当前下的这个菜单传给谁呀,服务员。是不是传给那个厨子呀?不不不是叫厨子,我们叫。厨师,哎,我们对这个行业要有最起码的尊重啊好,你是不是把当前的这个客户的这个下单,然后传到厨师呢。
03:09
厨师就开始叮当二开始炒菜了吗?那厨师他要不要原材料呢?得要厨师,得要原材料,所以呢,每个饭店其实都会有那个叫采购员的这么个角色,会有。哦,那么这这厨师说做鱼香肉丝,然后问采购员给我拿点,拿条鱼来拿点,肉丝来拿点。鱼香肉丝是不是要这么做?还有人,嗯,你吃过鱼香肉丝吗?里面有鱼吗?你的鱼香肉丝那个菜有这么大一条鱼是吗?怎么想啥呢?只是那个口味啊,那个菜名叫鱼香肉丝。那这这个采购员他天生是就自己在这生产菜吗?那不能,他只能怎么着呀。啊,他只是大自然的搬运工,他只能到哪里去搞菜,菜市场啊,菜市场。
04:07
他说他不能自已在那站,在那生,点菜出来,那不行啊。那么到菜市场,那么这个单子来了,然后这个采购员呢,他其实他不是说你当前单子来了,他就跑到菜市场去买菜,而是采购员一般都是今天早上啊,凌晨四五点的时候,然后就到菜市场去把今天这个饭店要用的所有的菜全部都要采购回来啊,所以采购员从菜市场把这个菜都采购回来以后,当初是问他要的时候,他是吧,鱼香肉丝哎,把肉丝给他那个萝卜丝呀,木耳什么,那木耳丝都给他厨师在拿到这些原材料以后,叮当二五炒,炒完以后,咱叮当按了个零,然后告诉服务员,赶,赶快这个菜炒好了,你来上菜吧,然后那服务员呢,然后跑过来,然快把菜端到你嘴这,然后那服务员给你上菜,这是一个饭店正常的流程,没毛病吧。
05:04
啊,为什么这个饭店我们要分成这么多角色呢?我搞一个角色不可以吗?为什么要分层?这就是开发也是一样的,为什么之前都没有分层,现在开始上了SSM框架以后,必须是分层,开发是有原因的,你想想看,跟饭店一样。如果这个饭店他没有分这么多角色,他就那一个人啊,即是服务员,又是厨子,还是采购员,这时候他每天他都在这等,等人来,来个客户以后,他问你吃啥,在那本本上记啊,你说你要吃鱼香肉丝哦,他其实油子麻花,你想他他要炒菜吗?油子麻花从后厨出来问你吃啥鱼香肉丝好。他记住这个菜以后,他后后厨去做,没办法,没有没有原材料,然后他把那个,把那个叫什么围裙一摘,然后骑上自行车到菜市场去把菜买回来,买完以后摘好洗干净,然后在这做,做完以后,然后油渍麻花的端给你,两个小时过去了。
06:06
那你你吃到这个菜了也行,反正你要不嫌弃,不嫌弃油渍麻花的这个厨师给你端上来你就吃也还可以,反正就完成了这趟业务呗,但是这时候饭店的风险太大了。你把所有的宝都压在这一个人的身上,如果这个人撂挑子不干了,整个饭店是要塌掉的,懂我的意思吗?如果你当前的这个角色,他既是服务员,又是厨师,还是采购员,如果这个角色,如果他不干,撂挑子了,妈呀,你这饭店都塌掉了。这不合理,很危险,不安全。那么我们应该怎么做?就是应该这样分层开发啊,各司其职,服务员撂挑子,我换一个更漂亮啊,厨师撂挑子换一个手艺更好的,那么采购员撂挑子换一个腿更长,跑的更快的,砍价更好的,每一个功能出了问题,我都可以小范围的切换,而且可以换的更好。
07:05
能明白吗?而且当你对功能扩展的时候,服务员一个不够了,上俩。你就只是干服务员的工作就好,如果你上俩,那个大角色你可请不起。能明白吗?所以就是说我们这种分层开发其实生活中比比皆是,而这个对应到我们当前的开发中,它是那是开发中是一个什么样的啊,是一个什么样的逻辑呢?是这样的。那么这个服务员呢,就相当于我们开发时候的什么,你们猜。界面层是的,接收客户端的输入,接收客户的输入,这个就是我们的那个界面层啊界面层然后呢,接受客户端的输入以后,然后来进行什么呀,业务功能的调用。
08:00
哦,接收这个客户端的界面,客端的输入以后,然后他要去调用什么呀,业务逻辑层,这个厨子呢,就是业务逻辑层。啊,这个厨子呢,其实就盯对的我们的业务逻辑层,然后呢,在下面的这一层应该是什么呢。数据访问层,就数据库的增加改查,也得专门有这么一个角色去搞数据访问层,而且分层开发以后,你哪出错了,我们就地解决哪个层的问题,你不用全程都找,所有代码录个遍才找到哪出错了,不需要啊,那么界面层。然后调用业务逻辑层,业务逻辑层调用数据访问,数据访问层走数据库拿数据,数据库返回数据给数据访问层,然后他回到业务逻辑层,业务逻辑层返回给界面层,界面层呈现给客户。这就是开发项目,就是这么个逻辑,为什么不允许跨层访问?啊,你看。
09:00
你,你,你是你,这是你吗?你高高兴兴跑来,以后你跟这个厨子是好朋友。你你跑到这儿吃饭的时候,你直接装在厨房,然后给你切个什么猪耳朵弄弄,再让他给你炒个什么鱼香肉丝啊,什么什么叫什么老虎抱美人。吃吃吃,没吃过吗?其实香菜拌青椒就是老虎抱美人,因为香菜是菜系的美人啊,那么青椒呢,就是老虎呢,老虎豹美人啊,还有什么雪盖婚纱,听过没?雪糕红沙是什么意思?西红柿撒白糖啊,什么萝卜开会,这个总知道啊,什么琼英荟萃,这个知道吧。开会嘛啊好,那么这就无论这个菜有多简单,你都不能,你敢跑到这个地方直接去找厨师的话,那么让老板知道腿给你打断。啊,就是不是把你腿打断,是把厨师腿打断。哦,所以我们是不允许跨层访问的,就是你跟厨师是好朋友,跟采购员是好朋友都不重要,你到我的饭店来吃饭,就得走这趟流程,这是必须的啊,所以我们不允许跨层访问,不允许的。
10:15
这个就是我们分层开发的意义啊,就在这儿。
我来说两句