首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

接口设计者应当换位思考一

2012-11-05 
接口设计者应该换位思考一什么是好的接口?我们总是在用一些模式或者理论来定位它,然而更多的时候,我们应该

接口设计者应该换位思考一

什么是好的接口?我们总是在用一些模式或者理论来定位它,然而更多的时候,我们应该采取换位思考的模式来定义接口,也就是说你站在用你的接口的那些人的角度去看问题,或者你来使用你的接口,凭此它的可靠性,扩展性和可用性,如果连你都觉得接口不够清晰,你又如何说服别人用呢?举个例子

?

情景:Web上要显示某个类别下所有的用户列表。用户切换不同的类别(以下拉框的形式),界面将显示此类别下的所有用户信息(以列表的形式)

接口:List<User> getUserList(List<Type> type) throws Exception

问题:设计人员根本没有考虑使用者的感受,如果你来调用接口,你更希望传递的是某一个Type,而不是列表!当然从代码的角度将一个对象转换成为List是非常简单的事情(Arrays.asList), jdk就有现成的,可是你怎么看都用着非常的别扭,似乎这个方法根本就不是为你准备的,而且可以想象你很担心返回的结果。从实现者的角度,他也会很难受,因为他需要些更多的代码去排除参数的合法与合理性,这是得不偿失呀!

解决:很简单,拆成两个方法

List<User> getUserList(Type type) throws Exception;

List<User> getUserList<List<Type> type> throws Exception;

?

这样是不是看起来舒服多了?既考虑到了不用的用户,接口也变得更具有亲和力,你说呢?

热点排行