以下哪一种设计被认为更适合 API?为什么?
apiMethod(Map<A, B> aToB)
或
apiMethod(MapWrapper<A, B> mapWrapper)
哪里MapWrapper
只是一个包含对 Map 的引用的类。
这两种方法各有什么优缺点?
最佳答案
您始终追求“简约”的 API。
在这种情况下:当您的 API 在传递 Map 时起作用 - 那么您当然会选择该路径。为什么要让您的客户承担首先包装 map 的负担?!
选项 1 的优点是 - 这是直接的路径。
而选项 2 的缺点只是使 API 的使用变得更加困难。
换句话说:如果该参数的中心“属性”是“成为 map ” - 那么它应该作为 map 传递。但是,当“中心主题”有所不同时,您就会传递一些与其他主题相符的内容。
关于java - API设计-使用对象还是集合作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46039506/