81 | 开源实战三(上):借Google Guava学习发现和开发通用功能模块
王争
该思维导图由 AI 生成,仅供参考
上几节课,我们拿 Unix 这个超级大型开源软件的开发作为引子,从代码设计编写和研发管理两个角度,讲了如何应对大型复杂项目的开发。接下来,我们再讲一下 Google 开源的 Java 开发库 Google Guava。
Google Guava 是一个非常成功、非常受欢迎的开源项目。它在 GitHub 上由近 3.7 万的 stars。在 Java 项目开发中应用很广泛。当然,我们并不会讲解其中的每个类、接口如何使用,而是重点讲解其背后蕴含的设计思想、使用的设计模式。内容比较多,我分三节课来讲解。
第一节课,我们对 Google Guava 做一个简单介绍,并借此讲一下如何开发一个通用的功能模块。
第二节课,我们讲 Google Guava 中用到的几种设计模式,会补充讲解之前没有讲到的 Immutable 模式。
第三节课,我们借 Google Guava 补充讲解三大编程范式中的最后一个:函数式编程。
话不多说,让我们正式开始今天的学习吧!
Google Guava 介绍
考虑到你可能不熟悉 Google Guava,我先对它做下简单的介绍。
Google Guava 是 Google 公司内部 Java 开发工具库的开源版本。Google 内部的很多 Java 项目都在使用它。它提供了一些 JDK 没有提供的功能,以及对 JDK 已有功能的增强功能。其中就包括:集合(Collections)、缓存(Caching)、原生类型支持(Primitives Support)、并发库(Concurrency Libraries)、通用注解(Common Annotation)、字符串处理(Strings Processing)、数学计算(Math)、I/O、事件总线(EventBus)等等。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何发现和开发通用功能模块,以及介绍了Google Guava作为一个成功的开源项目。文章强调了在业务开发中发现通用功能模块的重要性,并提供了一些实用的方法和思路。通过介绍Google Guava和通用功能模块的发现与开发,强调了通用功能模块的两个最大特点:复用和业务无关。读者可以从中学习如何在业务开发中发现通用功能模块,并将其开发成类库、框架或功能组件,从而提高代码的复用性和可维护性。文章还强调了产品意识和服务意识在开发通用功能模块时的重要性,以及阅读Google Guava开源代码的建议。整体而言,本文为读者提供了关于通用功能模块发现与开发的实用指南和思路。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《设计模式之美》,新⼈⾸单¥98
《设计模式之美》,新⼈⾸单¥98
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(21)
- 最新
- 精选
- Frank如何开发通用模块是不是可以对应到专栏之前讲过的“如何做需求分析与设计“中的非业务系统的开发那部分?
作者回复: 可以结合着一块看
2020-05-102 - djfhchdh立个flag,阅读guava,记下笔记2020-05-122250
- 宁悦附上Guava的github地址 https://github.com/google/guava2020-06-3019
- Jackeylet’s go guava2020-05-088
- L🚲🐱权限系统可以独立出来, 几乎所有的项目都可以用一套权限系统2020-05-1126
- 呦呦鹿鸣沙发!开始翻guava源码2020-05-086
- Mondaygoogle guava ,I'm coming!2020-05-105
- makermade分布式id生成器,可以抽象成一个独立的服务2020-05-085
- Heaven现在正在编写一个项目的告警模块,支持用户的自定义规则,进行解析后,多次到达一定额度,进行触发报警事件,这就可以抽取出来,但是现在越开发越和现有的业务代码耦合度深,所以在考虑将最开始的基本版本进行完善,形成一个框架暴露出去 顺便一提,其实大家可以根据自己的项目,抽取出一个脚手架,做到尽可能的通用,作为一个框架暴露出去2020-05-0814
- 龙猫我们公司就有一些通用的组件:异步通信中心(多种渠道钉钉、微信、邮件等通知),缓存中心,文件上传导入中心,多数据源动态配置(基于spring api开发的动态数据源)等等,还是比较有意思的。2020-09-1212
收起评论