8.5 何时使用多重方法
从Clojure的几个开源项目可以看出:
1. 多重方法使用极少
2. 很多多重方法都是基于类型(class)来分发
使用以下一个通用原则来决定创建函数很是多重方法:
1. 如果一个函数分支基于一种或多种类型,使用多重方法
2. 不管它是什么,当你发现它是类别,而又不是Java类或数据标签时,使用多重方法
3. 使用多重方法时,必须能够在没有多重方法定义的情况下,解释其实现方法的分发值
4. 不要用多重方法来处理可选的参数或可能的重复情况。
当你有疑问的时候,试着用两种方式来编写,然后挑选看起来更易读的那个。
从Clojure的几个开源项目可以看出:
1. 多重方法使用极少
2. 很多多重方法都是基于类型(class)来分发
使用以下一个通用原则来决定创建函数很是多重方法:
1. 如果一个函数分支基于一种或多种类型,使用多重方法
2. 不管它是什么,当你发现它是类别,而又不是Java类或数据标签时,使用多重方法
3. 使用多重方法时,必须能够在没有多重方法定义的情况下,解释其实现方法的分发值
4. 不要用多重方法来处理可选的参数或可能的重复情况。
当你有疑问的时候,试着用两种方式来编写,然后挑选看起来更易读的那个。
本文探讨了在Clojure中使用多重方法的最佳实践。通过分析开源项目,总结出了使用多重方法的指导原则,包括基于类型分发的情况、避免处理可选参数等,并提供了实用的建议帮助开发者决定何时采用多重方法。
3235

被折叠的 条评论
为什么被折叠?



