- 1、本文档共251页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
软件开发实践
项目驱动式的Java开发指南
目录
第1章开始旅程吧
1.1主题
1.2章节概要
1.3迭代
第2章银行账单分析器
2.1挑战
2.2目标
2.3银行账单分析器需求
2.4KISS原则
2.5代码可维护性和反模式
2.6单一职责原则
2.7内聚
2.8耦合
2.9测试2.10要点2.11迭代
2.12完成这个挑战
第3章扩展银行账单分析器3.1挑战
3.2目标
3.3银行账单分析器的扩展需求
3.4开闭原则3.5接口陷阱
3.6显式API和隐式API3.7多样化导出
3.8异常处理
3.9使用构建工具3.10要点
3.11迭代
3.12完成这个挑战第4章文档管理系统
4.1挑战4.2目标
4.3文档管理系统需求4.4充实这个设计
4.5里氏替换原则4.6可选方案
4.7扩展和重用代码4.8保持测试健康4.9要点
4.10迭代
4.11完成这个挑战
第5章业务规则引擎
5.1挑战
5.2目标
5.3业务规则引擎需求
5.4测试驱动开发
5.5mocking5.6添加条件
5.7流式API设计
5.8要点5.9迭代
5.10完成这个挑战第6章Twootr
6.1挑战6.2目标
6.3Twootr的需求
6.4设计概述
6.5从事件到设计6.6从哪里开始
6.7密码和安全性6.8关注者和twoot
6.9位置6.10要点6.11迭代
6.12完成这个挑战第7章扩展Twootr7.1挑战
7.2目标7.3回顾
7.4持久性和存储库模式7.5函数式编程
7.6用户界面
7.7依赖倒置和依赖注入
7.8包和系统构建7.9限制和简化
7.10要点
7.11迭代
7.12完成这个挑战第8章总结
8.1基于项目的结构8.2迭代
8.3刻意练习
8.4下一步及附加资源
第1章开始旅程吧
在本章中,我们将向你介绍本书相关的概念和原则。总结整体方案的一个好办法是实践和原则重于技术。目前已经有很多特定技术相关的书籍,本书不打算成为这一大堆书籍中的一员。这并不是说那些仅限于某些特定语言、框架或库的详细知识毫无用处。只是它们比普适的实践及原则拥有更短的生命力,而这些实践及原则可以适用更长时间,并且跨越不同语言和框架。这正是本书可以帮助你的地方。
1.1主题
在整本书中,我们使用了一个项目式的结构来帮助学习。值得大家思考的是,贯穿于各个章节中的不同主题,它们之间是怎么联系在一起的,以及为什么我们选择这些主题。以下是贯穿于这些章节中的四个不同主题。
1.1.1Java特性
在第2章中,我们会讨论使用类和接口构建代码。在第3章中,我们将讨论异常和包。你还会在第3章中对lambda表达式有一个简短的了解。第5章会对局部变量类型推断和switch表达式进行讲解。最后,在第7章中将会对lambda表达式和方法引用进行详细介绍。Java语言特性非常重要,因为许多软件项目都是用Java编写的,所以了解它的工作原理是很有用的。很多这些语言特性在其他编程语言里面也非常有用,比如C#、C++、Ruby、Python。尽管这些语言各有不同,但理解如何使用类和核心00P(面向对象编程)概念,对不同语言来说,也都是很有价值的。
1.1.2软件设计及架构
本书介绍了一系列设计模式,帮助解决开发人员遇到的常见问题。了解这些是很重要的,因为尽管每个软件项目看起来都是不同的,并且都有自己的一系列问题,但实际上,很多问题都曾经遇到过。了解开发人员已经解决过的常见问题和解决方案,可以让你避免在新的软件项目中“重复造轮子”,并使你能够更快、更可靠地交付软件。
本书第2章中会介绍耦合和内聚这类高级概念。第3章会介绍Notification模式。第5章会介绍如何设计一个用户友好的流式API以及建造者模式。在第6章中,我们会看到事件驱动和六边形架构的总体概念。第7章中会介绍存储库模式和函数式编程相关的内容。
1.1.3SOLID原则
我们在各个章节中涵盖了所有的S0LID原则,它们是一组旨在帮助使软件易于维护的原则集。虽然我们认为编写软件很有趣,但是如果你编写的软件成功了,那么它就需要演进、成长和维护。尽量使软件易于维护有助于功能的演进、维护和长期迭代。我们将在以下这些章节中讨论SOLID原则:
·第2章,我们将讨论单一职责原则(SRP)。·第3章,我们将讨论开闭原则(OCP)。
·第4章,我们将讨论里氏替换原则(LSP)。·第5章,我们将讨论接口隔离原则(ISP)。·第7章,我们将讨论依赖倒置原则(DIP)。
1.1.4测试
编写能够随着时间的推移而轻松演进的
您可能关注的文档
- 计算机图形学入门(3D渲染指南).docx
- 银行数据中心项目可行性研究报告(163页).docx
- 智慧校园一卡通项目建设方案[81页].docx
- 高职院校智慧校园方案[171页].docx
- 化学原料药产业园区智慧园区系统建设方案(165页).docx
- 智能供热系统建设解决方案2024.docx
- 2023企业数字化转型建设方案(数据中台、业务中台、AI中台).docx
- 校园安全风险防控体系建设方案[62页].docx
- GPMC并口多通道AD采集案例(1).docx
- 第三章 模拟调制系统.docx
- 2.1+地球与地球仪+第3课时+课件-2024-2025学年七年级地理上学期湘教版(2024).pptx
- 2.4+夏商西周王朝的更替++课件+++2024-2025学年统编版九年级历史上册.pptx
- 2.5++动荡变化中的春秋时期++课件++2024-2025学年统编版七年级历史上册.pptx
- 1.2+原始农业与史前社会【课件】+2024--2025学年部编版七年级历史上学期.pptx
- 1.1远古时期的人类活动+课件-2024-2025学年统编版七年级历史上册.pptx
- 3.2学习成就梦想.pptx
- 3.9++列宁与十月革命+课件++2023-2024学年统编版历史九年级下册.pptx
- 2.2+合理利用网络+课件-2024-2025学年统编版道德与法治八年级上册.pptx
- 第5单元+步入近代(考点串讲)-2024-2025学年九年级历史上学期期中考点大串讲(统编版).pptx
- 5.1+走近老师(共27张PPT)+内嵌视频-【培优课堂】2024-2025学年七年级道德与法治上册培优课精品课件(统编版2024).pptx
文档评论(0)