对Java开发的思考(代码组织、设计模式、开发流程)

近日终于参与到了一个正规的Java项目中。大约是抓取数据的项目。虽然人少,但人员水平高啊。在这种情况下,我就是在别人搭好的框架上添砖头的。
但搬砖时,也暗暗欣赏人家的框架之美(毕竟是公司出身嘛),在此总结自己没见识过的东西,权当学习。
(估计不定期会更新,哈哈反正也没人看)




1. 继承与工厂模式

使用interface定义抽象基类,派生类必须实现相应的接口,使得子类实例化之后可以统一调用。至于如何动态实现子类实例的创建(如通过启动参数、数据库设置),就要用到工厂模式,大约是有一个XxxFactory类,有方法buildXxx,通过方法参数的不同,动态创建不同的对象,语句是Class.forName。
这样的好处嘛,大约就是代码耦合度降低,一旦核心代码写好,需求变化只需要更改配置或者添加plugins,而不用修改核心代码了。这种动态特性就是用配置代替了硬编码。


2. 分层与单元测试

分层思想在Java中很常见。如Dao层可以让代码与数据库完全隔离,只要Dao层测试通过,上层代码都不再需要数据库。但如何测试呢?单元测试是个神器啊,名曰JUnit,可以实现对某一类/功能的测试,自己可以编一套数据,然后作为测试,运行既定的代码之后,可以通过assert比对结果与预期,实现功能测试。而Dao+单元测试,就让上层代码的测试脱离了数据库,无论是增删改,也不需要人工添加数据库数据,然后人工比对了。


3. ant代码

就像Makefile一样啦,自动化编译脚本(解决依赖啊,编译好的文件的配置啊),自动化测试等等。总感觉Java同学有各种奇葩的软件在支持着大项目的开发。。。。。






没什么需要总结的,略屌,慢慢研究它的屌吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值