【第21期】以实际项目作驱动,换种方式学Java

Java作为OOP(面向对象编程)的集大成者,融合了其他语言的诸多优点,让开发者体验到了函数式编程的精妙及强大之处。

随着这几年开源社区的蓬勃发展,越来越多的组件、框架、方案如雨后春笋般涌现,现代工程师们大多不用再像前辈们那样从零开始编写代码,而是更多地将精力放在业务功能的实现上,这在很大程度上提高了软件开发的效率。特别是在Java方面,其技术体系之庞大,解决方案之丰富,完全超出任何其他语言平台,可以说,我们遇到任何一种“钉子”,都能随手找到一大堆“锤子”。但同时我们也会发现,开发中所遇到的很多问题也并非一个新框架、新方案能完全解决的。以代码级别的扩展性、可维护性等问题为例,它考察的是工程师对常见设计原则模式的理解,以及对软件工程最佳实践的掌握程度,而这才是工程师真正的核心竞争力!

 

所以,工程师在学习编程技术时,除了要详细了解编程语言的核心API、组件和框架之外,还应该去探索编程语言的最佳开发模式,就像习武之人一样,招数重要,但内功心法更重要。幸运的是,编程语言发展数年,前辈们留下很多已被无数次证明的最佳实践,这些实践经过时间的沉淀和打磨,逐渐形成一套基本的设计原则,它们是超越框架,甚至是超越语言的存在。

 

作为现代工程师,想要获取这些资料易如反掌。由于设计原则或设计模式都是经过高度抽象和提炼形成的,初学者非常容易被各种“概念”“词汇”带偏。目前市面上很多模式相关的书籍资料,为了让工程师便于理解,其示例代码都力求简单直接,甚至做了非常多的不切实际的具象化(拟人拟物)。所以现实情况是,很少有资料是以真实的项目迭代为蓝本进行讲解的,这会导致大家“即使懂很多道理,但仍写不好代码”。

 

本期为大家带来一本《软件开发实践:项目驱动式的Java开发指南》 :填补了这方面的空白。

 

首先,本书是以项目驱动式的方式来讲解的,即核心章节都会根据一个项目案例来引出开发过程中遇到的问题,然后引导读者一起去思考这些问题的解决方案,甚至包括一些设计权衡上的讨论。这种结合具体的业务场景进行反复验证、持续迭代的讲解方式,能让读者有身临其境之感。

 

其次,本书在内容上涵盖了工程师必知必会的一些基本设计原则模式,比如SOLID原则。SOLID是一组旨在帮助开发易于维护的软件的原则集,包括:单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)。书中并不会很生硬地介绍每个原则,而是会根据实际情况来引出这些原则的使用方式。

 

最后,本书还介绍了TDD(测试驱动开发)、流式API函数式编程等目前比较流行的主题,相信大家同样会有所收获。

 

对初学者来说,通过阅读本书,可以在较短的时间内对软件开发有较清晰的理解,并能产生与自身结合的学习路线图。对于有一些工作经验的开发者来说,本书可以帮助你梳理这些年积累的理论和实践,温故而知新,然后再出发。

 

 

简介

主要内容

本书向你展示了如何开发真实项目,并同时学习最佳实践。每一章会聚焦于一个项目,该项目从一个命令行批处理程序开始,然后发展成一个功能齐全的应用程序。如果能够编写基本的Java代码,那么你将学习先进的软件开发实践,以构建现代的、健壮的和可维护的Java软件。

收获

通过阅读本书

了解编写可维护代码的核心设计原则。

增加代码库的灵活性,提升代码可维护性,以及处理异常。

理解如何应用耦合、内聚和SOLID原则。

使用测试驱动开发来处理新的设计问题。

从外到内思考:从全局转移到应用程序领域的核心。

了解函数式编程并学习如何在Java中使用它。

第020期赠书活动中奖名单公布

赠书规则

送书规则:感谢大家对华章图书的信任与支持。围绕Java,留言谈谈你的想法。小编会在留言池随机捞两条锦鲤,分别包邮送出1本正版书籍。

截止日期:9月18日下午17:00

特别注意:请按规则留言。阅读最多、分享最多者优先。

更多精彩回顾

书讯 |9月书讯(下)| 开学季,读新书

书讯 |9月书讯(上)| 开学季,读新书

上新 | 一本书带你吃透Nginx应用与运维
书单 | 开学季——计算机专业学生必读的10本畅销经典

干货 | 巨详细!使用OpenCV和OpenVINO轻松创建深度学习应用

收藏 | 开学季——想打好数学基础?这些经典教材你最需要!

视频 | 4min视频带你了解阿里B2B电商算法

点击阅读全文购买

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值