作者: | Raoul-Gabriel Urma and Richard Warburton |
语言: | 英文 |
出版年份: | 2019 |
编程语言: | Java |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
《Real-World Software Development》是由 Raoul-Gabriel Urma 和 Richard Warburton 共同撰写的一本面向实际软件开发的书籍,旨在帮助开发者掌握软件开发的核心技能,并将这些技能应用于真实项目中。本书通过项目驱动的方式,逐步引导读者学习软件开发的重要概念和实践,适合初级开发者以及希望提升技能的资深开发者。
本书共分为八章,每一章都围绕一个具体的软件项目展开,从简单的命令行程序逐步过渡到复杂的全功能应用程序。通过这些项目,读者可以学习到如何将不同的编程技术整合到实际项目中,并理解如何在项目中应用设计模式、测试驱动开发(TDD)、函数式编程等重要概念。
介绍了本书的整体方法和理念,强调了实践和原则的重要性,并提出了本书的四个主题:Java特性、软件设计与架构、SOLID原则和测试。
通过开发一个银行账单分析器,读者可以学习到面向对象设计的基础,如单一职责原则(SRP)和代码维护性。本章还介绍了如何通过提取公共逻辑来避免代码重复,并强调了代码的可读性和可维护性。
进一步扩展银行账单分析器的功能,引入了策略设计模式和开闭原则(OCP),并探讨了如何通过异常处理来应对失败情况。此外,还介绍了如何使用构建工具(如Maven和Gradle)来管理项目。
帮助读者设计和实现一个文档管理系统,涵盖了继承、里氏替换原则(LSP)以及测试代码的编写。本章还讨论了“组合优于继承”的原则,并展示了如何通过测试驱动开发来提高代码质量。
介绍了如何构建一个业务规则引擎,包括测试驱动开发、流畅API的开发以及接口分离原则(ISP)。读者将学习到如何通过TDD来设计和实现一个灵活的业务规则引擎,并理解如何使用测试双来隔离和测试组件间的交互。
通过开发一个类似Twitter的短消息平台Twootr,读者可以学习到如何从需求出发,逐步构建应用程序的核心功能。本章还介绍了如何使用测试双来测试组件间的交互,并展示了如何通过事件驱动架构来实现高效的通信。
在这一章中,读者将学习到依赖倒置原则(DIP)和事件驱动架构等高级概念,并进一步扩展Twootr的功能。本章还介绍了如何使用函数式编程技术来简化代码,并讨论了如何通过测试双来提高测试的覆盖率。
回顾了本书的主要内容,并提供了进一步学习的资源和建议。作者鼓励读者通过实践和持续学习来不断提升自己的软件开发技能。
本书适合以下几类读者:
通过阅读《Real-World Software Development》,读者不仅能够学习到软件开发的核心概念和技能,还能通过实际项目体验如何将这些技能整合到复杂的软件系统中。这本书是一本实用性强、易于理解且充满实践指导的软件开发指南。