`
aa8945163
  • 浏览: 276051 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java开发牢骚

阅读更多
1.关于解耦

这个词自从接触设计模式以来,便整天萦绕耳边,以前觉得不错,但是最近越来越觉得像苍蝇了,能多恶心你就多恶心你.

本来解耦无可厚非,高内聚,低耦合谁都懂的道理,但是现在,这个词真的被滥用了.


解耦不过是一个用来迷糊人的手段,是追求过度设计的人显摆的工具

只有真正的内聚,没有绝对解耦,但凡你在某个地方切断联系,那么你必然会在另一个地方重新产生联系

通常来说,切断联系的地方就在于方法的调用(或者对象的实例化),而重新产生联系的地方就在于框架

物体被打碎以后,需要重新黏合在一起才能使用

代码被解耦以后,同样需要再次耦合起来完成功能

物体的黏合除了人还需要粘合剂

而对于代码来说,同样需要粘合剂,这里的粘合剂就是配置文件或者注解


本来嘛,不变的东西,用基类实现,不同的行为用子类复写,对于外界的调用,可以定义一个接口

现在倒好,搞一大堆配置文件,声称是解耦,可是配置文件改动的地方没有十分之一

把一个功能拆分到五六个方法里面,声称是为了代码复用,除了你用,别人根本不知道在什么地方

一个包含了全部逻辑的方法,拿到哪里都能用,现在呢,解耦了,复用去吧,离开框架你屁都不是,还解耦呢!


以前代码的整体感没有了,现在就是把一个完整的躯体给直接给肢解了,把关注的部分留下来,其他的都送给框架了,

送些衣服可以,可是如果连肉都送了,那么你的代码还真解不了藕,因为没有了血肉就是死



比较Struts1和Struts2两种框架,我承认后者配置更简单,但是谁要跟我说它有优点,简直是TMD的放屁:

1)与Web容器完全解耦

解个屁耦,难道Struts不是一个Web框架么?哪里能少得了Servlet API?没有Servlet,Struts屁都不是,

敢问有几个利用Struts而不是做Web开发的?

就算你解耦又如何?我还不是需要Request对象和Response对象?我使用了ContextUtil也能算解耦呢?

做Web开发又去和Web解耦,真是闲得蛋疼!

2)更容易测试,Web工程里面的逻辑有几个是脱离了Web环境来测试的?

不需要Web环境的代码段我可以单独放一个方法里定义,用得着使用Struts2来解耦?

3)Struts2比Struts1更容易理解,完全是放屁

不看文档,鬼知道从哪里获取Request对象和Response对象!

而且一个action又做M又做C,干脆你连V也做了,不更省事?不过话说这样的话,我还用得着框架?



2.关于接口

接口无非一种规范,我可以实现,也以不实现,我可以实现你想要的,也可以实现你不想要的;

不过用来约束的一种玩意儿,可是某些人却认为接口优于一切,没有接口就意味着不规范

于是,凡是逻辑处理类,一律xXXXX和xXXXXImpl,神马都是接口

接口是挺好,但是真的需要到处都用么?你的逻辑永远都不会改变,你整个接口到底是为什么?

仅仅是为了规范么?但是没有接口就不规范么?



3.关于IOC

自从Spring将IOC发扬光大以后,便言必称IOC,因为有了IOC,连接口都可以不用了

现在的Java已经走火入魔了,当C++返璞归真趋于平淡的时候,Java不知何事开始流行起奇技淫巧来了

仿佛学Java如果你不懂IOC,如果你不懂DI,如果你不懂AOP,如果你不懂Annoation,如果你不懂AspectJ,如果你不懂cglib,你就out了

IOC离不开配置文件,现在或者可以说离不开注解

真的很方便么?效率的低下尚且不说,调试的麻烦姑且不论,但是代码的理解还有可读性么?

你不跳出框架来看,你永远搞不明白它的逻辑

本来简单的几行代码就可以搞定,现在却要不停地在代码和配置文件直接跳来跳去

或者从一堆堆Annoation中找出你所需要的那几行.

4.关于Annoation

本来很反感XML的配置文件,仿佛和我一样的人大有人在,所有现在Annoation开始盛行

不过现在看来我倒是有点觉得XML没有那么反感了

至少,XML能让我感觉到代码的清爽,可是那么多的Annoation,真是惨不忍睹啊?

XML可以避免重新编译,而Annoation呢?

答案就是避免XML,直接写代码也能避免XML,需要Annoation干嘛呢?

又是为了俗不可耐的解耦?算了吧?即使解耦你就不需要写代码了?

改一段逻辑清晰的代码,比改一个个完全不明所以的注解容易多了

除非你去看注解的源码,或者相信注解的注释文档

分享到:
评论

相关推荐

    水木清华站∶Java版精华区 含jsp及js等集合.chm

    [目录]Java与开发工具 1. [目录]关于JBuilder的问题 2. [目录]Jbuilder安装与使用中的常见问题 7. [目录]Java编程工具 8. [目录]Visual Age for Java 9. [目录]Websphere 7. [目录]...

    个人无聊发一发牢骚,别人不可用

    个人无聊发一发牢骚,别人不可用

    系统开发软件中的需求分析.pptx

    每当遇到麻烦、挫折时,他们会发牢骚,找出一堆用户的毛病。很多开发人员错误地以为:需求是用户的事情,不是我们的事情。我们为用户开发软件,难道用户不该告诉我们应当开发什么吗?如果用户说不清,我们就认为这...

    初中语文文摘职场牢骚带来的变革

    在现代职场中,变革往往是由微小的事件引发的,这些事件可能是员工的不满,也就是所谓的“牢骚”。索尼公司的变革,正是从一个普通的牢骚开始,最终引领了一场管理上的革新。索尼的案例不仅对职场人士有深远的启示,...

    janken:JSF发牢骚

    JavaServer Faces(JSF)是Java平台上的一个用于构建用户界面的框架,特别适用于企业级Web应用程序的开发。本项目“janken”是一个利用JSF技术实现的“石头-剪刀-布”(Rock-Scissors-Paper)游戏,它为开发者提供了...

    发牢骚

    【发牢骚】:在IT行业中,"发牢骚"可能是指开发者在遇到技术问题或对编程语言特性不满时表达的抱怨。在这个场景下,我们聚焦于与TypeScript相关的牢骚,这是一种静态类型的JavaScript超集,旨在提高代码的可维护性...

    DK的《打砖块》附带源代码

    【作者的牢骚】 按时发布DKGame7。 昨天和群里的兄弟聊天谈了怎么才算C++入门,有人说 开发个打砖块的游戏就算入门了。试试我算入门了没?? 我的计算机水平要比别人想象中的差,非常羡慕高手。很 多人说我开发的...

    DK的特训-附源代码

    【作者的牢骚】 昨天看一位小兄弟开发了《特训》,玩了,一看源代码, 他用的某本书上的框架,其复杂度已经超过我的理解范围 了,晕。他发布的代码也不能正常编译,修了半天总算编 译了,结果还是黑屏。 ===========...

    DK的搬运工-附地图编辑器及相关源代码

    【作者的牢骚】 最近我的脚冻坏了,我这里的生活条件太差了,物价也很 贵。前段时间有兄弟说能写推箱子就算是能编程序糊口, 我现在也能写了,但是不能用这个糊口。现在年纪大了, 没有了十年前的激情了,混一天算一...

    angular-calendar-directive:Google Material Design的日历角度指令

    角日历指令Google Material Design的日历角度指令演示版请参阅的演示建造npm安装凉亭安装运行应用程序-开发模式发牢骚运行应用-生产模式发牢骚服务:产品建立应用程式咕unt的构建执照许可证(有关全文,请参阅文件)...

    DK的《五子棋》-附源代码

    【作者的牢骚】 很想结婚,可惜没人要,唉,废柴一族。 有西安或苏州招人的,工作要求不要太高,工资不要太低的,请 介绍给我。附上个人简历一份。 ================================================== FanSin ...

    DK的《小型空战最终版》-附源代码

    【作者的牢骚】 很想结婚,可惜没人要,唉,废柴一族。 有苏州招人的,工作要求不要太高,工资不要太低的,请 介绍给我。 ================================================== FanSin Studio-棼紫|DKink 2008年...

    手把手教你学习ffmpeg

    FFMPEG 学习真是一件头大的事,首先 FFMPEG 就够大了,没想到它还需要很多外部库提供相关功能,比如 H264 编码需要 x264 库, MP3 编码的 mp3lame 库......。其次用 FFMPEG的人算不少,但...以上纯属发牢骚(遭了太多罪,呵呵)

    DK的《点灯》-附源代码

    【作者的牢骚】 像我这种没什么技术也没什么学历的人注定要失业。 有西安或苏州招人的,工作要求不要太高,工资不要太低的,请 介绍给我。附上个人简历一份。 ================================================== ...

    DK的《贪吃蛇》-附源代码

    【作者的牢骚】 像我这种没什么技术也没什么学历的人注定要失业。 看到别人写《贪吃蛇》,我也写。 有西安或苏州招人的,工作要求不要太高,工资不要太低的,请 介绍给我。附上个人简历一份。 =====================...

    swift apprentice

    她在威斯康星州麦迪逊外与一帮试图发牢骚的拳狮犬和编程“大量”共居。 在版权信息方面,《Swift Apprentice》的版权归属于Razeware LLC。未经版权所有者的书面许可,任何人都不得以任何形式复制或分发书中的任何...

    鼎捷实施顾问初阶考试111

    32. 业务调研过程中,经常遇到的被调查对象大体分为如下几种类型(ABCD)A 抵制型 B 一问一答型 C 发牢骚型 D 怀疑型 33. 业务蓝图方案设计的原则包括(ABCDEF)A 知己知彼是基础 B 合理性原则 C 业务再优化原则 D ...

    theeraagency

    "发牢骚"可能是指在开发过程中遇到问题或者对某些技术特性不满,这在开发过程中是常见的,通过交流和解决问题,可以推动项目不断优化。 【标签】"JavaScript" 指出项目的核心技术栈是JavaScript,这是一种广泛应用...

Global site tag (gtag.js) - Google Analytics