制作像getSystemService()这样的“基于字符串”的API有什么好处?

时间:2011-08-07 17:23:58

标签: java android oop api-design

我对Android编程很陌生,而且我是从强大的iOS编程背景出发的。

我注意到Android平台上有一个“怪异”的东西: 某些系统服务(如NotificationManager)是通过方法getSystemService()访问的,该方法接受一个字符串作为参数并返回所需的类。

我的问题是,为什么Google(或设计此API的人)以这种方式制作并且没有为每个系统服务制作特定的get方法?

我认为为每个服务创建一个单独的方法更健壮,更不容易出错。它还节省了铸造的需要,这是一种“丑陋”的编程。

那么使用按名称进行追逐有什么好处?

1 个答案:

答案 0 :(得分:0)

我认为这是为了抽象的通用性以及根据需要在下一版本中添加更多内容而不会使用新方法名称,参数等中断模式的能力。