显然每个Java程序员和他的狗都写了几个开源框架。 我可以理解,有时框架是有用的,但在Java社区中则相反:不使用尽可能多的框架,它被视为“非专业态度”。
我的团队成员中有一半害怕编写任何代码来解决技术问题,他们只是在需要添加功能时随时搜索框架。
当然,没有人可以成为一切的专家,但为什么你需要(例如)在大约20个框架(我上次计算)中选择服务一个简单的休息api?
它是否与Java相关并且缺少标准库(xml解析为一个)?或者它与“面向CV的编程”有关吗?
答案 0 :(得分:8)
Java似乎很适合创建框架。就个人而言,每当我从头开始写东西时,我都会尝试以最大化重用潜力的方式编写它。这样,我写的所有内容(非专业)都被添加到某种“个人框架”中。鉴于现在使用GitHub和ts之类的公共代码库是多么容易,如果不发布你作为框架所做的事情,几乎没有意义。
答案 1 :(得分:5)
这是因为这些“框架”和实用程序都很好。而且没有必要重新发明轮子。对于大多数琐碎的功能,都有apache commons。
如果没有适合您的XML解析器,或者没有依赖注入框架为您提供足够的(或不够简单),或者没有ORM可用于映射您的模型,那么推出您自己的解决方案。但你必须非常好地测试它。大多数开源项目都经过了充分的测试。
答案 2 :(得分:2)
我认为这只是事物的自然演变。 Java是框架友好的(和python这样的其他语言一样),并且随着程序员获得早期框架的经验,他们发现了他们想要的改进和不同的方向。我们处于框架时代;我们在这个领域看到了很多创造力,但很难跟上发展的步伐。我不知道什么时候或者如果事情会平静下来,我们会看到一些主要是非重叠的框架占主导地位。
Java确实在javax.xml包中的J2SE中提供了广泛的XML支持。
答案 3 :(得分:2)
一般规则是,如果你已经完成了某些事情,你就不应该重做它(正如Bozho指出的那样)。
我只想补充一点,通常编写框架的人往往有更多时间考虑他们的框架解决问题的优化/清晰度/可维护性。
您通常会考虑您的业务逻辑。因此,通过使用框架,您实际上可以在应用程序的特定问题域上获得优化和可维护性。
一般情况下,如果已经有一个可以解决问题的框架 - IMO你应该使用它。
答案 4 :(得分:1)
我的猜测是程序员很懒(很好)并且不想重新发明轮子。至于为什么有这么多可能是因为每个人都擅长某些特定事物,或者某些人喜欢创造自己的解决方案(没有错)。
答案 5 :(得分:1)
为什么木匠需要在众多不同种类和品牌的锤子中进行选择?为什么人们不敢自己做锤子?
答案 6 :(得分:0)
我真的希望看到框架和库之间有更好的区别。 另请查看此主题以进行详细讨论:klick here
对于某些项目,我们可能会使用比框架更多的库。