我是 Android 编程的新手,但我有深厚的 iOS 编程背景。
我注意到Android平台有一个“奇怪”的东西:
一些系统服务(如 NotificationManager
)通过 getSystemService()
方法访问,该方法接受字符串作为参数并返回所需的类。
我的问题是,为什么谷歌(或者设计这个 API 的人)会这样做,而不为每个系统服务制定具体的获取方法?
我认为为每个服务制作一个单独的方法会更健壮并且更不容易出错。它还节省了转换的需要,这是一种“丑陋”的编程。
那么使用按名称检索的优势是什么?
最佳答案
我认为这样做是为了抽象的通用性,以及在不使用新方法名称、参数等破坏架构的情况下,根据需要在下一版本中添加更多内容的能力。
关于java - 像 getSystemService() 这样的 "String-Based"API 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6974429/