00:00
好,那我们继续写,写什么呢?诶,又遇到一个难点。Key。这个key怎么办?这个K怎么办?那我们也从外面传进来。行不行,这个K我能不能从外面传进来。跟表明一样,因为我们已经刚写过这个表明嘛,所以我们自然想到了,诶这个K呢,我是不是也应该用这个。传进来。这种方式。啊。这个K能不能传进来。能不能?
01:13
又没有声音了。这个主键。我能不能像表明一样传进来啊?这个问题要想这么久吗?能不能?完了。这个K能不能传进来啊。
02:05
啊,有说能的,有说不能的啊,不能的理由说在外面也确定不了。对不对,好,那假如说我们也想把它传进来,那你告诉我你传谁呢。对吧,比如说我们的维表当中有一到14对吧,那你说你这传一还传14呢。合适吗?不合适你得从哪获取啊,这个你得从。数据里边吧,你得看这个数据里边它的什么SKUID到底是多少,也就是说这个地方你从外面传也不行,传不了对吧,只能用这个SKD,那怎么办。那怎么办?对吧,我得从这个里边。
03:02
去获取我们的。数据,那怎么办?好,那你的意思在这儿,用反射把SKUID获取到这样吗?就是这边我呢先在这儿。就这意思啊,在这儿使用反射获取SKUID对吗?你仔细想一想,这个可不可以,这个能行吗?你不好几个同学说反射吗?是是在这这样吗?使用反射的方式获取SKD,这对吗?
04:06
你们要的反射对吧,我会把注释先给你写的。啊,甚至淘大还说,这回反射总不能错了吧?是不是这样写啊,是给我扣个一好吗?你觉得是的话,给我扣个一好吗?啊,淘淘扣一,其他呢,还有两个同学说反射呀,你们怎么认为的。提出反射的同学,你怎么认为的?在这写一下嘛,SK获取SKD。你觉得是的话,我就开始写嘞,你扣个一我就开始写了好吗。
05:15
其他两个同学,强总,姚总,你俩不是说要用反射吗?我对不对啊,在这这样写对不对啊,我问你们一声,你们要的反射吗?你要说一的话,我就开始写嘞。你俩又没有声音了啊,说反射的人都没有声音了。那你们说的反射是啥意思啊?啊,反正淘淘扣一了,对吧,你俩呢。怎么认为的?我们现在讨论这个问题嘛,你有想法就说呀,不要憋着对吧,你提出来的反射,我说在这写,你又不不告诉我。怎么写?我提出了一种方案,我问你,你又不回答了。
06:00
是不是哦,姚总,强总呢,人呢?啊,强总扣一了。啊,差个姚总。姚总你怎么想的,你也说了用反射总能反射了,对吧?你也说了反射,然后呢,我是在这儿写获取SQID对吗?啊,姚总也说一,其他同学呢,想一想。人家提出了反射,对吧,你想一想在这个地方获取SKID,这种反射的方式可以还是不可以。其他同学也一块来说一说好吗?
07:02
你觉得我在这儿使用反射获取SKD可不可以啊?可以扣一啊,不可以扣二。创建不了T对象啊,这不是T对象吗?不用创建T对象啊,这个T对象是人家封装的,跟你没关系,不是这个问题啊。队友啊,能能能写反射。反射肯定能写啊,对吧。能获取到所有的字段,然后你去判断嘛,对吧,哎,你去遍历的时候,你去判断等于SQID。啊,好,邓总来了,也扣了个一,又多了一个支持的人,有没有反对的我就问。啊,有反对的赶紧站出来说说你反对的理由是什么?
08:05
思考啊,得动脑子,这块确实有点难啊,对吧,你先不用管,那都说怎么反射怎么用,我还没搞清楚,你不用管那个反射怎么用,对吧,你就想在这块我就获取SQID可不可以。咋回事啊,今天明显不给力呀,我告诉你啊,这块不行。好,你比如说我我给你举个例子对吧,这我获取了SKD好。你这个呢。你这个需求咋办呀?你还有s puu呢,你trade bug呢,它这个321呢,你都用SKUID获取吗?不对吧,对吧,所以如果你想要用反射,你得怎么写,注意把。
09:00
注意看啊,你要写反射不是直接在那写,而是在这写一个SKUID传进来对吧?在这你不能写死SKID叫获取指定列的。直。对吧,那比如说啊,我要写完这个写KD这儿呢写。PUID能明白吗?如果你想要用反射,你是不是得这样写,你要在外面不光要指定表明,还要指定你要获取通过反射获取的这个列的列名,能明白吗?如果你不不传这个列名进去,直接在这写SQID完了,你这个所有的都拿SQID去查吗?啊,想到反射很不错啊,但是呢,问题没想到位。听懂了吗?包括其他同学,你们几个,包括其他同学能听明白吗?
10:03
这块我们所说的一个点,如果我们要用反射,你不能在里边写死SQID对吧,你应该在外面把这个列传进来。你要指定,因为我们每一个获取,那你比如说对吧,我要拿开率为一,就关联开一表对吧,二关联二表三关联三表SKU关联s p trademark都不一样,对吧,你要在里面写死SKD那不好。对吧,好,这边呢,是我们通过反射,但是反射我们用过了,我们就不用了,OK吧,以前我们是不是用过这个反射,包括这个代码我们都写过啊,可以啊,我没说不可以,可以用啊,就是说刚才我们所提到的,你在这儿把列名传进去是可以用的,OK吧,但是呢,这边不用,我们用另外一种方式。我用另外一种方式。啊用什么呢?因为这里边儿唯一的问题是不是就是一个T比较麻烦。
11:01
对吧,你要通过反射去获取,好,那大家想一想这个T,虽然我们很少写这种函数,但是我们是不是天天用呢?我们用的时候你有没有感觉它不好用啊。啊,你天天是不是都在用带泛型的函数,什么map filter Fla map process一系列全都是把什么reduce window方式是不是都在泛型啊,你有没有觉得?不好用呢。你有没有觉得人家带泛型的这个函数这个类不好用呢?你有没有觉得不好用。并没有吧?相信大家一定用的很爽,为什么?我问你为什么?那人家那个东西怎么写的,对吧,人家写了一个泛型的,你用的却很爽,那我们能不能跟他想法一样去写一个这样的函数,我也用的很爽。对吧,而且你想想看啊,你你是随便写的招聘吧,人家用的是泛型。
12:04
那你怎么就用着很爽呢,一点一点感觉都没有对吧,没有说他把你东西写死了。对吧,一点都没有感觉到,诶,他把你东西写死了,这不方便那不方便,你用起来很爽很方便,对不对。为什么?为什么人家用了泛型就能达到这个效果?啊,我们在这写一个泛新方法,就是感觉这么难。用起来那么不好用。想一想,原因在于什么啊,杰总说了一个抽象类。嗯,不是最关键的。再具体一点。再具体一点。杰总。再深入一步。对了,抽象方法对吧,你看啊在刚才。
13:03
刚才我们说在调用的时候看啊表明确定的,我们准备传SKUID对吧,这个东西也是确定的,包括这儿还是泛行吗。看它还是T吗?它不是了,它是具体的类型了,发现没对吧,所以很简单这种问题啊,那是不是我们在里边现在就有这玩意不好写啊,就算你写反射也不好写啊,那怎么办。我不写了,你别写了,你写什么,我就定义一个类而已,我就定一个类的人而已,对吧,我就稍微定一个模板,这个叫什么呢?叫模板方法的设计模式。模板方法对吧,我只是定一个模板,我只是告诉你应该写哪些方法,但是方法具体实现我不写,我不知道怎么写类型,类型你不给我,你是个T,对吧,你要做什么业务逻辑你不告诉我,我也不知道,对吧,但是你要想我里边虽然知道或者说调用的人,每个人想法都不一样,每个人写的招聘都不一样,没关系,因为当你调用这玩意儿的时候,这个东西怎么样,他就是确定的,所以呢,我们完全可以搞一个抽象方法。
14:15
能懂吗?好,比如说在这边string类型。得到一个K对吧。叫get key get key对吧,好,那把这个input传进来,搞一个方法嘛,对吧,把这个key呢传进去啊好,那这边alt加回车,创建这个方法,在这个类里边。创建这个方法对吧?好,现在呢,它当然返回的是一个什么nu值啊,那这个写了没写一样,你就相当于写的nu值,但是呢,我们不要实现,因为这个实现你要写的话,你得写反射比较麻烦,对吧,干脆直接这样。好,那这个方法是抽象的,那这个类呢,也得是形成一个抽象类,对吧?我给你搞一个抽象方法,那么在外面这个地方你要干什么?奥加回车实现这个抽象方法,同理,在这边实现,那这个时候input它还是T吗?它不是了,它是trade的SKU out b对吧?那我要获取SQID好获取吗?太简单了,Input点。
15:20
Get puu ID对吧?这一边我必然要获取PUID对吧?那就写input.get PU ID。No。你看这些东西是不是你每天都在用,你所用的map function Fla map function filter,什么process对吧,什么rich map rich field是不是都是这样子的,人家用的是泛型,人家不给你写死任何东西,人家只是说我未来要调用map方法,你得把map方法一定给我实现了。能听明白吗?就是在我们封装很多工具类的时候,我们要用到泛型,因为它非常好用。
16:03
它通用,但是呢,你写这个。累的时候不好写,因为由于是泛型,很多东西不好写,对吧,但是你要明白一个问题。无论你写了多少泛型,在调用的时候它必须给一个具体类型,它不可能调用的时候还是泛型,对吧?所以当你调用这个函数的时候,一切都是确定的。他所有的东西都是确定的。懂吗?对吧,所以有很多事情呢,我们在里边不用写,你呢搞一个抽象方法,或者说通过构造方法,对吧,把它传进来。你没必要在里边写。听懂。这个点很关键啊,那我们说它难,就类似于这种。对吧?啊,为什么最后大家学完之后,你会发现整个项目就属这种方式加工具类比较难。
17:02
因为我们为了通用,你其他的东西都是根据业务来的,一步一步走的,对吧,只要你把API学熟了,把这个需求搞定了,那些东西都不难,关键像这种封装的,这就属于编程思想的在里边了。对吧。啊,那如果说我直接写具体的类型对吧,我估计这里面代码谁都会写,那我大不了在里边关联六个尾表吧,对吧,还有不会写的吗。关键在于,我们就想写一个工具类,所有人都能用。对吧,你就要用到这个什么泛型啊。啊,什么反射呀等等的这些东西它才够通用。OK吗?这块啊,最关键的点就在于这啊,所以我刚才没有用反射的方式去实现,我只是说我们换一种方式对吧?啊,那这种方式不比反射香吗?是不是?对吧,它不比反射香吗?我们从外面给它怎么着?
18:01
传进来,诶,我里边不写,我写一个抽象方法给你,对吧,你你要怎么做跟我没关系,你自己去写,你自己去实现,我就告诉你我要这个东西。获取主见,我只关心这个事儿,其他的我一概不管。对吧,这意思能听明白吗?有没有一种?好像代码还可以这样玩啊,自己写的代码可以这样玩,有没有这种感觉,现在对代码是不是?感觉这玩意儿还挺有意思的吧?啊,现在大家什么感觉啊。好,整,挺好。听是听了感觉又没听啊,怎么能感觉没听呢,肯定有收获呀,这块东西对吧。一团浆糊啊,这个东西一团浆糊了吧,不至于吧,我觉得我讲的还还是比较清楚的啊。
19:07
对吧,我你你如果说觉得一团浆糊的,你回头把那个人家的,人家写的map function什么非function,你先去看一看你怎么用的,对吧,你再回过头来整理一下我们这块东西。
我来说两句