|
锁定老贴子 主题:讨论一个接口设计问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-05-15
xly_971223 写道 阳光晒晒 写道 顺遍BS楼上与N多用书说话的教条主义者。。。。 在你没达到大师的高度之前 最好还是继承大师的思想 就像我们从小读书继承先人们的知识一样 难不成你自己创造文字 从结绳记事开始? 你所讨论的东西我无权与你讨论? |
|
| 返回顶楼 | |
|
最后更新时间:2007-05-14
dflgsdfgj 写道 具体解决问题可以到XX开发者世界看看,www.xxxx.com
为什么火星来的这么多呢,一定要被封了才舒服. |
|
| 返回顶楼 | |
|
最后更新时间:2007-05-14
...猛一看,还真不知道说的是什么.火星语,还真不好懂.
|
|
| 返回顶楼 | |
|
最后更新时间:2007-05-15
阳光晒晒 写道 如果我用:第一种,用来隐藏实现
如果有变,为什么只能用一个类实现?不可以是多个? 顺遍BS楼上与N多用书说话的教条主义者。。。。 是该“天马行空”地讨论吗?连接口是干什么的都不清楚,还讨论个鸟。 白痴一群! |
|
| 返回顶楼 | |
|
最后更新时间:2007-05-14
讨论离主题越来越远了
|
|
| 返回顶楼 | |
|
最后更新时间:2007-05-14
阳光晒晒 写道 lihy70 写道 阳光晒晒 写道 如果我用:第一种,用来隐藏实现
如果有变,为什么只能用一个类实现?不可以是多个? 顺遍BS楼上与N多用书说话的教条主义者。。。。 是该“天马行空”地讨论吗?连接口是干什么的都不清楚,还讨论个鸟。 白痴一群! 接口与现实应该是一对一的????恶寒。。。 谁说过接口与现实是一对一的? 唉,跟你们说不清楚, |
|
| 返回顶楼 | |
|
最后更新时间:2007-05-15
楼主说的问题不仅仅是接口的问题,而是如何设计一个合理API的普遍共性要求。这个问题的答案很简单:要不要由使用者说了算,而不是设计者。参考一个系统或者项目和客户的关系。一个设计合理的API是能够提供足够的灵活度,允许使用者能作调整或者扩展来完成目前其不能完成的功能。拿上面的例子来说:
1.把一个字串写入文件 其对应接口或实现 则是: write(String content){ ... } 考虑到客户不仅仅是需要将字串写到固定的一个文件,那么需要改为: write(String fileName,String content) 如果需要避免每次都打开文件,那么实际上需求变了,则需要把API重构,变为: open(String fileName) write(String content) close() 或者 构造方法(String fileName) write(String content) 同时视是否有向下兼容需求而保留旧API: write(String fileName,String content) |
|
| 返回顶楼 | |
|
最后更新时间:2007-05-15
1.可配置(可调整,或者说有足够多的参数)
2.方便(参数多了就要提供默认值,简写API声明) 3.可扩展(这里没有3,4年痛苦经验估计很难写得出容易扩展的API) |
|
| 返回顶楼 | |
|
最后更新时间:2007-06-03
多种接口完全可以同时存在的呀,GOF有个模式就是专门讲这个的,是啥呢?
|
|
| 返回顶楼 | |
|
最后更新时间:2007-06-19
dovecat 写道 http://www.javaeye.com/topic/7776
可以看看这个. 设计接口,可以结合1和2来进行. 同意,这样的情况我觉得可以在不同的层中解决不同的问题,比如MVC的话,V层必须得简洁,要不然一旦修改起来会很费功夫,而C层可以灵活一点,因为业务层逻辑比较复杂,需要提供很多单一的功能。 |
|
| 返回顶楼 | |













