Изучая различные менеджеры, обнаружил, что в основном есть два стилистических подхода, например менеджер Sounds статик класс/синглтон/экземпляр:
1.
Sounds.add(); - добавляет звук в список менеджера
Sounds.remove(); - удаляет звук из списка менеджера
Sounds.destroy(); - удаляет все звуки + очищает сам менеджер для GC т.е. он больше не используется в программе.
Sounds.pause(); - пауза всех звуков
Sounds.resume(); - восстановление проигрывания звуков.
2.
Sounds.addSound(); - добавляет звук в список менеджера
Sounds.removeSound(); - удаляет звук из списка менеджера
Sounds.removeAllSounds();
Sounds.pauseSounds();
Sounds.resumeSounds();
Первый из них наиболее удобен в использовании (для разработчика менеджера), т.к. короткие именования функций, тем не менее, логика сохраняется, т.к. все операции относятся к текущему менеджеру и его элементам.
Второй более понятен для юзера-программиста, но есть некоторое нагромождение в именовании функции.
Т.е. в имени функции идет пояснение.
Логически, если менеджер называется Sounds (звуки), то соотв. функция должна работать с элементом звука и вызывая add можно понять, что операция идет над элементом менеджера. Но, иногда в менеджер приходится, добавлять не только звуки,но и что-то еще, тогда получается две функции add() и уже приходится конкретизировать: addSounds/addChannel. Тем не менее совпадения имен функций менеджера встречаются редко и можно называть функцию просто add.
Какую стилистику из (приведенных двух) именования функций менеджера вы применяете?
Кстати? также интересно, альтернативе destroy можно найти, remove, kill, clear, unregister

и пр.
Хотя у меня remove ассоциируется с add, т.е. с добавлением/удалением одного элемента в менеджере. А destroy/kill ассоциируется уже с удалением всех элементов менеджера и собственно самого менеджера, т.е. подготовка его для GC и удаления из памяти.