我是明年毕业的研究生,准备跨行转码农的。
之前有在 v2 提问过该选前端还是后端,大多数都推荐我学 Java 后端。现在有一些迷茫的地方。
当下的目标:尽可能找一份暑期实习,实验室不放人所以只能找暑期了。
目前的情况:
有在看 B 站上的 SSM 培训班视频,感觉讲的都很基础,理解也很轻松,但是看完后又总感觉收获有限,似乎就是学了一堆本来可以在文档中就能看到的内容,相当于带我整体性地过了一遍需要用到的文档,似乎自己这样看完后劣势依然很大,基本没有学到啥。然后力扣上的题也有在做,但是感觉时间还是比较有限,所以尽量在挑热门题做,先自己做题然后看看一些解题思路啥的,跟以前做题家时期模式一样。
迷茫的点:
顺带再提一个我在看 Spring 框架时的一些问题:
Spring AOP 默认使用的是 JDK 的动态代理,而这个是基于接口实现来进行代理的,因此在getBean()
的时候只能用接口声明来获取代理后的 bean ,此时就没办法操作代理对象的原对象本身了,而只能调用实现的接口方法。
那会不会有这样一种场景:我既希望某一个对象中部分方法被代理,又希望直接控制这个对象的字段或者未暴露在接口当中的方法呢?
我自己想的答案是这样的:
这种场景不符合开发的基本原则,因为面向接口编程本身不光是依赖倒置的实践,也是开闭原则的实践,相关的操作方法没有暴露在接口中意味着这些方法是闭合的,所以想要直接获取实现对象访问其中未暴露在端口中的方法,是不符合依赖倒置和开闭原则的。
就是这些问题,主要想问前面的迷茫的地方,后面关于动态代理这个小问题有大佬回答就更好了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.