Методы доступа к файлам обычно имеют параметры, относящиеся к режиму чтения / записи, создавать ли несуществующие файлы, атрибуты безопасности, режимы блокировки и т. Д.Представьте себе количество методов, которые у вас были бы, если бы вы создали отдельный метод для каждой действительной комбинации параметров !
Я выделил самый большой аргумент в пользу отдельных методов;это отказоустойчиво, потому что у вас есть строгий контроль над API.Вызывающая сторона не может передать недопустимые аргументы или недопустимые комбинации параметров, если вы не выставите такие параметры.Это также подразумевает менее сложную проверку параметров.
Однако я не поддерживаю эту практику.API должны быть хорошо разработаны и должны меняться как можно меньше .Кент Бек о нарушении API-изменений:
Одним из преимуществ [параметризованных методов] является то, что вы можете добавлять новые варианты существующих методов, добавляя новые константы, не нарушая реализации.
Его аргумент в пользу отдельных методов:
Однако [параметризованные методы] не общаются так же, как и имеют отдельный метод для каждого варианта.
Я не согласен,Параметры метода могут быть такими же удобочитаемыми.Особенно в сочетании с именованными параметрами, эта функция поддерживается несколькими языками.Кроме того, отдельные методы приведут к перегрому API.