简单分析接口参数的好处
2009-12-09 17:30
176 查看
今天在 http://flash.9ria.com/thread-36840-1-1.html 找到一个高人写的超级玛丽例子。
整个下午都在研究别人这个 flash 版的超级玛丽,发现每个类都会有一个相对应的接口。
一开始还没有深入看源代码时,我想这算是比较简单的一个小游戏,为什么作者
要写那么多接口干嘛?这些接口是不是有点多余呢?
后来深入看源代码才发现,这些接口有一个作用就是用来做函数参数的。如:Hero(_iMain:IMain, _iMap:IMap)
用接口做参数有什么好处?想不明白,googel 了一下,这种用接口做参数的方法是我们平时所说的
面向接口编程(可能我的理解还很肤浅)。
找到以下高人的解释:
-------------------------------------------------
在小项目中,是体验不到的。使用接口编程,易于程序扩展,降低程序耦合性。
举个常用的例子说吧,你有个方法为:public viod doxx(ArrayList arraylist),
方法调用时,参数必须为ArrayList对象。某天,当参数需要更换为其他集合类时,
必须更改代码;此时如果用接口的话,就不须了;将方法更改为public viod doxx(List list),
方法调用时,参数就很灵活了,可以传入ArrayList、LinkedList等等,这样从而降点耦合了。
-------------------------------------------------
实际上我们还有非常多的解决方法,但我们并不关心。因为只要接口足够稳定,内部实现发生再大
的变化都是允许的。
-------------------------------------------------
看完了上面的解释,我们现在再来看 Hero(_iMain:IMain, _iMap:IMap)。 IMap 是的地图接口,当这个游戏中有多个地图时
,无论传什么具体的地图对象进去这个参数都适用,这种方法好处就显而易见了。
整个下午都在研究别人这个 flash 版的超级玛丽,发现每个类都会有一个相对应的接口。
一开始还没有深入看源代码时,我想这算是比较简单的一个小游戏,为什么作者
要写那么多接口干嘛?这些接口是不是有点多余呢?
后来深入看源代码才发现,这些接口有一个作用就是用来做函数参数的。如:Hero(_iMain:IMain, _iMap:IMap)
用接口做参数有什么好处?想不明白,googel 了一下,这种用接口做参数的方法是我们平时所说的
面向接口编程(可能我的理解还很肤浅)。
找到以下高人的解释:
-------------------------------------------------
在小项目中,是体验不到的。使用接口编程,易于程序扩展,降低程序耦合性。
举个常用的例子说吧,你有个方法为:public viod doxx(ArrayList arraylist),
方法调用时,参数必须为ArrayList对象。某天,当参数需要更换为其他集合类时,
必须更改代码;此时如果用接口的话,就不须了;将方法更改为public viod doxx(List list),
方法调用时,参数就很灵活了,可以传入ArrayList、LinkedList等等,这样从而降点耦合了。
-------------------------------------------------
实际上我们还有非常多的解决方法,但我们并不关心。因为只要接口足够稳定,内部实现发生再大
的变化都是允许的。
-------------------------------------------------
看完了上面的解释,我们现在再来看 Hero(_iMain:IMain, _iMap:IMap)。 IMap 是的地图接口,当这个游戏中有多个地图时
,无论传什么具体的地图对象进去这个参数都适用,这种方法好处就显而易见了。
相关文章推荐
- 提高Java代码重用性的措施三:选择最简单的参数接口类型
- 微软企业库5.0 学习之路——第七步、Cryptographer加密模块简单分析、自定义加密接口及使用—下篇
- Consumer接口简单分析
- WebService之简单的访问接口,上传参数并获取数据
- 常见开放接口签名简单实现-请求参数排序加密
- C#中WerServer接口参数规范、访问地址的简单阐述,以及出现的问题
- Java集合框架的知识总结(1) 说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。 1、综述 所有集合类
- Optional接口简单分析
- MyBatis接口的简单实现原理分析
- 天天记录 - Android setVisibility参数VISIBLE, GONE, INVISIBLE与源码简单分析
- 一个简单web系统的接口性能分析及调优过程
- golang 接口参数 简单使用
- 简单分析百度ITEST接口测试框架实现
- FFmpeg与libx264接口源代码简单分析
- mybatis中接口参数使用map类型的好处
- [EntLib]微软企业库5.0 学习之路——第七步、Cryptographer加密模块简单分析、自定义加密接口及使用—上篇
- 黑马程序员_对象的简单分析_对象与函数参数_常见错误
- FFmpeg与libx264接口源代码简单分析
- 提高Java代码重用性的措施三:选择最简单的参数接口类型
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现