Git Product home page Git Product logo

io-api's Introduction

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设计的进一步学习资料

简单资料

系统书籍

io-api's People

Contributors

oldratlee avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.