Java
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
src
.gitignore
README-EN.md
README.md
in.txt
pom.xml

README.md

Java的通用IO API设计

📖 English Documentation | 📖 中文文档



博文A generic input/output API in Java(by Rickard Öberg,【译】Java的通用I/O API)中给出了一个通用Java IO API设计,并且有APIDemo代码。

更重要的一点是,这篇文章给出实现这个API设计本身的步骤和过程,这让API设计实现过程有了条理。文中示范了从 普通简单实现 整理成 正确分解、可以复用、可扩展的API设计 的过程。 这个很值得理解和学习!设计偏向是艺术,一个赏心悦目的设计,尤其是API设计,旁人看来多是妙手偶得的感觉,如果能有些章可循真是一件好事。

给出 减少艺术的艺术工作量 的方法的人是大师。

原文中只给出设计的

  • 发展思路
  • 关键接口
  • 典型的使用方式

没有给出实现细节和可运行的实现,看起来可能比较费力。(细致的分解后的设计往往比较抽象而不容易快速理解)

为了大家和自己更深入有效地学习,需要:

  1. 给出这个通用IO API的可运行的Demo实现。
    这个工程即是本人的可运行的Demo实现。
    当然个人力荐你先自己实现练习一下,这样比直接看我的实现,在学习上会有效得多!
  2. 写了一篇分析总结。
    本人的分析总结:用Java I/O API设计练习的分析和总结。这个你可以直接看,以更高效方便地理解这个API的设计。

PS:

上面2件事其实是份自学的家庭作业哦~ 😆
在阿里中间件团队的时候,@ShawnQianx 大大看到这篇文章时,给组里的人布置家庭作业~ :bowtie:

@ShawnQianx 对这篇文章及作者的评论:

设计时,一要分解好系统,二是多个组件拼回来还是系统预期的样子,二步都做好是难度所在。这个人分析和把控的功力很好!

包的功能

package com.oldratlee.io.core
	核心接口
package com.oldratlee.io.core.filter
	filter功能
package com.oldratlee.io.utils
	工具类
package com.oldratlee.io.demo
	demo类

更多信息

API设计的进一步学习资料

简单资料

系统书籍