【发布时间】:2011-01-08 08:42:33
【问题描述】:
我正在阅读一些关于如何设计好库或 API 的内容,并偶然发现了 Joshua Bloch 在 Google Tech Talks 上的精彩演讲。现在,虽然我离专业的 API 开发人员还差得很远,但我认为编写一堆类/函数是相似的,尽管同一件事的缩小版 - 动作的明确分离,易用性和令人愉悦的使用,鼓励干净的代码等。
我浏览了一些广泛使用的开源 Java 代码并得到了这个想法(没有什么新鲜的,只是把它清楚地提出来......)
让我们举一个例子伪代码(或可能一些BASIC方言):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
现在受到 Java 代码的启发,我希望能够像这样做一些事情:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
我的问题是:
有其他人从这样的伪代码开始设计 API 吗?
小东西是个好主意吗?说最多 10 个类,每个类可能有 10 个方法,每个方法里面的代码不超过 5-6 行。这显然只是一组粗略的数字,用于显示要设计的类的大小 - 远不及完整的 API,而不仅仅是一个爱好项目 - 一个专业的包,做一些小事但做得很好 em>。
有没有人发现这种方法有任何严重的缺陷?
我认为一个真正的好处是它迫使你首先写下你的用例。
另一件事是名词和动词保持简单,使您的最终产品能够避开MultiPhraseAbstractParadigmDesignPatternImplementor综合症:-D
【问题讨论】:
标签: class pseudocode api-design method-chaining