摘要: 在上世纪九十年代,Java被设计成了OOP语言,在当时,OOP是软件开发中的标杆。远在OOP还没有出现的时候,已经产生了FP语言,例如Lisp和Scheme,但是它们的益处,并没有受到学术圈外的人重视。最近,FP的重要性被提升了,因为它非常适合并发编程和事件驱动编程。然而,这并不意味着OO不好,相反,好的策略应该是混用OOP和FP。就算你对并发编程不感兴趣,这也很有道理。例如,如果编程语言有一个方便写函数表达式的语法,集合类库就能拥有强大的API。
阅读全文
摘要: 在软件开发中,好的建议是可遇不可求的。通用设计原则可以指导我们,但现实总是逼着我们,在看起来相互冲突的目标之间妥协,比如,可扩展性和可维护性与规模和复杂性。同样的,现有代码库可以在很大程度上让我们避免重复造轮子,但想要初级开发者轻松组合那些现有组件来做项目,依然不现实。
阅读全文
摘要: 对很多应用来说,时间和日期的概念都是必须的。像生日,租赁期,事件的时间戳和商店营业时长,等等,都是基于时间和日期的;然而,Java却没有好的API来处理它们。在Java SE 8中,添加了一个新包:java.time,它提供了结构良好的API来处理时间和日期。
阅读全文