В чем преимущество создания API на основе строк, такого как getSystemService ()? - PullRequest
3 голосов
/ 07 августа 2011

Я новичок в программировании на Android, и у меня сильный опыт программирования на iOS.

Я заметил странную вещь на платформе Android: некоторые системные сервисы (например,NotificationManager) доступны через метод getSystemService(), который принимает строку в качестве параметра и возвращает нужный класс.

Мой вопрос: почему Google (или тот, кто разработал этот API) сделал это таким образом ине сделал конкретный метод get для каждой системной службы?

Я думаю, что создание отдельного метода для каждой службы более надежно и менее подвержено ошибкам.Это также избавляет от необходимости приведения, что является своего рода «уродливым» программированием.

Так в чем же преимущество использования повторения по имени?

1 Ответ

0 голосов
/ 07 августа 2011

Я думаю, что это было сделано для абстрактной универсальности и возможности добавлять больше по мере необходимости в следующих версиях, не нарушая схему новыми именами методов, параметрами и т. Д.

...