java 要怎么学才能写企业级 jar 包

2015-10-30 10:35:38 +08:00
 chenhui7373

最近在做即时通讯,看到环信的一个消息实体类,就想到了这个问题。

源链接:
http://www.easemob.com/apidoc/android/chat/com/easemob/chat/EMMessage.html

其实我只想写个消息实体类,但我觉得有必要提这个问题...

2983 次点击
所在节点    Java
15 条回复
funky
2015-10-30 11:12:21 +08:00
上面知识 jar 的 doc 但是我不太明白你说的意思,
fwrq41251
2015-10-30 11:26:32 +08:00
关于怎么写 java doc,参考 oracle 的文档 http://www.oracle.com/technetwork/articles/java/index-137868.html
然后 eclipse 里就有生成 doc 的功能,点几下就行了
chenhui7373
2015-10-30 11:41:42 +08:00
@fwrq41251 可能我提问的方式不对,我想知道的是要有怎样的水平才能写 jar 包,然后要怎么达到这种水平。依然感谢!
vietor
2015-10-30 11:44:19 +08:00
“企业级“这三个字就是骗人的,一般解释为”有企业“在用。有一些情况是解释为”使用了 ERB “。
vietor
2015-10-30 11:44:52 +08:00
修正 EJB
WalkingEraser
2015-10-30 11:54:19 +08:00
设计模式,泛型,反射,动态代理,我猜的
funky
2015-10-30 11:58:53 +08:00
企业级就是唬人的。但是狭义下的企业级可能是指 IBM 的 EJB(无责任猜测)
cnhongwei
2015-10-30 12:07:53 +08:00
1 、没有必要使用 EJB ,现在都轻量级了,还用这玩意干什么?
2 、你例子中也不是一个实体类,就是一个正常的 Bean 。
3 、技术达到能写 EJB 的唯一条件就是:蛋疼。
HentaiMew
2015-10-30 12:15:11 +08:00
“企业级”....."jar 包".... 原谅我一看标题就把你归在初学者范围内了。
如果你想写 jar ,也就是 java 的 library 。
你需要了解构建工具,例如简单的 maven ,在后者是相对复杂的 gradle 。
至于什么水平写 library ,没有这个限制... 企业级通常在框架领域是指能上实际生产环境并且能承受
例如数据量大,事物密集,架构复杂,保证安全性等因素的并且通常是某一件事的新解决方案。
假若,我写一个很简单的 tools 库,专门处理 java 中各种繁琐而简单的小步骤,例如一个个简单 API 就能转换字符串和时间,转换对象和 JSON 、判断 string 和 object 是否非空包括 null,“”和.size=0 等等等等。
只要保证正确性和优雅的实现,然后写好一个个方法上的文档注释,用构建工具打包,自动生成 doc ,没人会觉得你这是一个很烂的库,一样可以用在企业项目中。
至于你觉得的环信,是因为代码架构和模式优雅,而你自己无法写出或者重构出这样的代码,你不了解这样做的思想,只是认为很有逼格,所以提出了这么一个问题,对不对。。。
bramblex
2015-10-30 12:55:48 +08:00
“企业级”?

1. 你给你的 jar 包建一个公司。
2. 雇佣一个庞大的穿着西装革履的销售团队。
3. 把你的 jar 包使用授权费定价位 50w 。
4. 让你的销售团队多跑大企业和政府的 IT 部门负责人,并且给对方许诺 20 个点的回扣。
5. 好了,你的 jar 包现在就是“企业级”的 jar 包了。
bramblex
2015-10-30 13:00:54 +08:00
提供“企业级”软件产品的都不是科技公司
而是打着科技公司名义的金融公司,而且主营业务是保险。
Felldeadbird
2015-10-30 13:03:49 +08:00
把 jar 包容量做大。接口要多,但必须绕口。 对外高兴地说,这是重量级的企业包,
phx13ye
2015-10-30 13:35:54 +08:00
spring 是坠吼的,不服不辩
Cloudee
2015-10-30 13:42:33 +08:00
LZ 说得是复用,不是企业级
从简单的开始,比如说常用的小工具经常封装个 Util 类之类的,就能放到一个 jar 里面,要是发布的话好好写 javadoc 就是。
然后考虑一下能不能通过抽象适配一类场景,封装成类,通过继承或者组合来适配具体的业务。一个 jar 包是不是足够的内聚,是不是能去掉一些用途不太大的依赖。
如果向用户 Web 应用的话,还可以考虑是不是对 IoC 框架友好,比如如果作为 Service 层,是不是对多线程友好,状态是不是要抽取出来用独立的对象来保存,是不是能作为单例存在,配置能不能完全通过 get/set 属性来实现。
逐渐打磨就是了。
idamien
2015-10-30 21:04:19 +08:00
我斗胆来加个评论,希望不会被喷死
楼主的 jar ,说白了就是中间件,或者说通用模块
写这种东西在一开始就要注意设计架构,使用接口,应用设计模式等等
慢慢积累就好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/232210

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX