V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zhazi  ›  全部回复第 7 页 / 共 15 页
回复总数  296
1  2  3  4  5  6  7  8  9  10 ... 15  
2020-09-08 10:14:03 +08:00
回复了 jatsz 创建的主题 编程 架构整洁之道 - 读书后记
DIP 这里引入的是必要的复杂度,还是意外的复杂度。
这里是 jhipster 针对目前 spring mvc 模式中针对 service 接口从‘技术角度’上的理解
Should we use interfaces with our Service Beans?
Short answer: No.

If you want the long answer, here it is:

One of the main interests of using Spring is AOP. This is the technology that allows Spring to add new behaviors on top of your Beans: for instance, this is how transactions or security work.

In order to add those behaviors, Spring needs to create a proxy on your class, and there are two ways of creating a proxy:

If your class uses an interface, Spring will use a standard mechanism provided by Java to create a dynamic proxy.
If your class doesn’t use an interface, Spring will use CGLIB to generate a new class on the fly: this is not a standard Java mechanism, but it works as well as the standard mechanism.
Some people will also argue that interfaces are better for writing tests, but we believe we shouldn’t modify our production code for tests, and that all the new mocking frameworks (like EasyMock) allow you to create very good unit tests without any interfaces.

So, in the end, we find that interfaces for your Service beans are mostly useless, and that’s why we don’t recommend them (but we leave you with the option to generate them!).
但是!
如果仔细想想为什么使用接口进行依赖注入是一种增加复杂度方式,因为根本没有通过依赖注入获取到任何好处。
让我们在去想想接口的特性,可以被多个类多实现,最大程度上解耦。问题就在这里了,为什么我们的接口很少被多个类实现,是我们写的 curd 更多的业务是面向过程的代码,没有针对业务进行抽象归纳总结,是 oop 编程的一种反模式。
而书中的论点更多都是以 oop 的视角出发的。
信不信书这件事要看自己的深度,如果你到了一个陌生的领域还是不要轻易下结论。
2020-09-04 10:07:44 +08:00
回复了 simonlu9 创建的主题 Java 求助, springboot 模块依赖测试问题
我觉得你说的是集成测试
如果 B 依赖是个 autoconfig 可以是用 exclude 排除掉
如果不是 autoconfig,那么生命周期应该是你自己控制的。
2020-09-03 13:40:17 +08:00
回复了 1oNflow 创建的主题 Java 想学习 Java web 各种场景的最佳实践,有什么书或者教程比较好?
最佳实践都在各种规范里 先去把 servlet 规范看了 然后看接口传输协约定,如 restful 论文没有明确规范,但是为了你的最佳实践,所以建议你总结出一套经得起时间和规模推敲的规范。然后到后端处理,工界和学界针对意见不一致的问题先解决掉。然后基本可以总结出你想要的最佳实践了
2020-08-25 18:43:38 +08:00
回复了 sha851092391 创建的主题 程序员 关于微服务架构落地的一些疑问
oauth2.0 就可以解决资源鉴权问题。
依赖注入不就做这个的
2020-08-15 13:56:40 +08:00
回复了 kyrre 创建的主题 问与答 到底是什么原因促使你选择了 MyBatis 作为 ORMapping 的?
@Cbdy 谁跟你说 orm 是描述数据操作的?
2020-08-14 21:00:45 +08:00
回复了 kyrre 创建的主题 问与答 到底是什么原因促使你选择了 MyBatis 作为 ORMapping 的?
@Cbdy 哈?
2020-08-12 07:19:14 +08:00
回复了 Marstin 创建的主题 问与答 怎么感觉好多前端文档都是机翻的??
我觉得上下文这个词挺好 被写文档的人用烂了
上下文在我理解是“”抽象空间中存在某种联系的事、物” 跟作用域的语意差不多

但是楼主这个文档里说的外部上下文确实让人迷惑,尤其是被外部修饰过后 既然有外部那么就会有内部

拿类打比方,一个类存在两个方法,这两个方法存在的联系便是当前类的成员变量,所以讨论这两个方法的时候提及上下文,我们会想到这个类空间以及属性,但是提及这两个方法的时候提及到外部上下文,你们品品
2020-08-10 17:12:25 +08:00
回复了 einsdisp 创建的主题 问与答 有哪些渠道可以付费咨询软件开发架构设计?
ThoughtWorks 不是做这些的嘛
insert(key k)
try{
insert(k);
}catch(DuplicateKeyException e){
insert(key+1);
}
2020-07-14 13:33:33 +08:00
回复了 xinyang5302677 创建的主题 职场话题 技术被踢出局 怎么走出局?
根本就没入局,何谈出局啊
2020-06-14 17:30:43 +08:00
回复了 zxc1234 创建的主题 程序员 关于抽象类与接口
可以多继承吗?只能实现一个接口吗?
2020-06-11 02:15:58 +08:00
回复了 yumc 创建的主题 Java 关于 spring data jpa 的一些业务问题
2020-06-01 15:15:50 +08:00
回复了 cweijan 创建的主题 Java 快速测试 SpringMvc 接口, 跟 PostMan 说再见!
如果在服务已经启动的情况下 mockmvc 就可以提供 api 访问了,不需要对 spring 容器初始化
2020-06-01 15:13:00 +08:00
回复了 cweijan 创建的主题 Java 快速测试 SpringMvc 接口, 跟 PostMan 说再见!
这东西需要启动项目,就是个 httpclient,完全没达到测试的目的,不能保证可重复性,测试完数据库一堆脏数据,那你这就是不合格的测试工具啊
要不怎么说国内软件开发领域比较弱呢,天天争论这个语言好那个语言好的无意义话题,不务实,facebook 也拿 php 做 web 这么多年也没说比 java 差多少。java 爬虫也未必比 python 差。
讨论语言的都是很可怜,没有格局,成不了气候。
2020-04-10 16:01:00 +08:00
回复了 sandman511 创建的主题 程序员 Java8 Optional 怎么用
optional 是解决空指针的 你用 steam 直接拿出 studentName 如果是 null 值直接处理就可以了
student.filter().findFirst(). map(std-> std. name). orElse(默认值)
1  2  3  4  5  6  7  8  9  10 ... 15  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2667 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 05:18 · PVG 13:18 · LAX 21:18 · JFK 00:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.