如何构建应用程序,这是每一个开发人员要面对的。


1.构建工具Maven

http://www.ibm.com/developerworks/cn/java/j-maven/

尽管 Ant 对于构建 Java 程序而言是事实上的标准工具,但这个工具在许多方面都不胜任项目管理任务。相反,Ant 提供的东西,Maven(出自 Apache Jakarta 项目的高级项目管理工具)都能提供,而且更多。Java 开发人员 Charles Chan 将介绍 Maven 的特性,并循序渐进地指导您进行一次完整的 Maven 项目设置。


2.HTTP服务器、WEB容器Jetty

http://www.ibm.com/developerworks/cn/web/wa-lo-jetty/

Jetty 是一个用 Java 实现、开源、基于标准的,并且具有丰富功能的 Http 服务器和 Web 容器,可以免费的用于商业行为。Jetty 这个项目成立于 1995 年,现在已经有非常多的成功产品基于 Jetty,比如 Apache Geromino, JBoss, IBM Tivoli, Cisco SESM 等。Jetty 可以用来作为一个传统的 Web 服务器,也可以作为一个动态的内容服务器,并且 Jetty 可以非常容易的嵌入到 Java 应用程序当中。

3.时间控件Joda-time

http://www.ibm.com/developerworks/cn/java/j-jodatime.html

现在假设我希望输出这样一个日期:距离 Y2K 45 天之后的某天在下一个月的当前周的最后一天的日期。坦白地说,我甚至不想使用 Calendar处理这个问题。使用 JDK 实在太痛苦了,即使是简单的日期计算,比如上面这个计算。正是多年前的这样一个时刻,我第一次领略到 Joda-Time 的强大。使用 Joda,用于计算的代码如清单 3 所示:

清单 3. 改用 Joda
DateTime dateTime = new DateTime(2000, 1, 1, 0, 0, 0, 0);
System.out.println(dateTime.plusDays(45).plusMonths(1).dayOfWeek()
  .withMaximumValue().toString("E MM/dd/yyyy HH:mm:ss.SSS");

清单 3 的输出为:

Sun 03/19/2000 00:00:00.000

如果您正在寻找一种易于使用的方式替代 JDK 日期处理,那么您真的应该考虑 Joda。如果不是这样的话,那么继续痛苦地使用 Calendar 完成所有日期计算吧。当您做到这一点后,您完全可以做到使用几把剪刀修建草坪并使用一把旧牙刷清洗您的汽车。



4.单元测试JUnit

http://www.ibm.com/developerworks/java/tutorials/j-junit4/


5.框架搭建的方式

http://www.infoq.com/cn/news/2013/12/humble-architects


规则4:至底向上的一致性要优于自上而下的一致性

我有一种方式可以实现系统中更多的一致性:

  • 创建一个参考应用,并使用易于遵循的架构。如果这件事干得好,那么开发者们就会始终记得不要偏离这个架构。除非他们不想,否则这么做就没问题。
  • 培育一种互助的文化。能够看到彼此代码的开发者要比那些只看到自己代码的具有更好的一致性。结对编程、代码审查以及技术分享讲座都有助于这种文化的培育。

6.构建的方式DDD

http://www.infoq.com/cn/articles/ddd-dddlib-development-process-and-marketing-experience

领域驱动设计(DDD)的概念源于2004年著名建模专家Eric Evans发表的书籍:《Domain-Driven Design –Tackling Complexity in the Heart of Software》中文译名:领域驱动设计—软件核心复杂性应对之道,池建强在2011年发表的一篇文章《领域驱动设计和实践》中是这样形容DDD的:

领域驱动设计事实上是针对OOAD的一个扩展和延伸,DDD基于面向对象分析与设计技术,对技术架构进行了分层规划,同时对每个类进行了策略和类型的划分。


7.常用的开源框架

AppFuse J2EE WEB开发开源框架

http://appfuse.org/display/APF/AppFuse+QuickStart+-+Chinese

opentaps 开源企业级ERP系统

http://www.opentaps.org/

Bootstrap 简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

http://v2.bootcss.com/customize.html


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐