V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chenhui7373
V2EX  ›  Java

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

  •  
  •   chenhui7373 · 2015-10-30 10:35:38 +08:00 · 2968 次点击
    这是一个创建于 3307 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    15 条回复    2015-10-30 21:04:19 +08:00
    funky
        1
    funky  
       2015-10-30 11:12:21 +08:00
    上面知识 jar 的 doc 但是我不太明白你说的意思,
    fwrq41251
        2
    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
        3
    chenhui7373  
    OP
       2015-10-30 11:41:42 +08:00
    @fwrq41251 可能我提问的方式不对,我想知道的是要有怎样的水平才能写 jar 包,然后要怎么达到这种水平。依然感谢!
    vietor
        4
    vietor  
       2015-10-30 11:44:19 +08:00
    “企业级“这三个字就是骗人的,一般解释为”有企业“在用。有一些情况是解释为”使用了 ERB “。
    vietor
        5
    vietor  
       2015-10-30 11:44:52 +08:00
    修正 EJB
    WalkingEraser
        6
    WalkingEraser  
       2015-10-30 11:54:19 +08:00
    设计模式,泛型,反射,动态代理,我猜的
    funky
        7
    funky  
       2015-10-30 11:58:53 +08:00
    企业级就是唬人的。但是狭义下的企业级可能是指 IBM 的 EJB(无责任猜测)
    cnhongwei
        8
    cnhongwei  
       2015-10-30 12:07:53 +08:00
    1 、没有必要使用 EJB ,现在都轻量级了,还用这玩意干什么?
    2 、你例子中也不是一个实体类,就是一个正常的 Bean 。
    3 、技术达到能写 EJB 的唯一条件就是:蛋疼。
    HentaiMew
        9
    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
        10
    bramblex  
       2015-10-30 12:55:48 +08:00
    “企业级”?

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