Допустим разрабатывается меню с двумя стрелочками и картинкой между стрелочек. Одна стрелочка направлена вправо, другая влево.
Суть: при нажатии на соотв. стрелочку менять картинку. Нажали на правую, переключаем на картинку +1 в массиве. Если на левую, то переключаем на картинку -1 в массиве. Но таких массивов с картинками будет очень много. И все картинки на разные тематики. А если для каждой группы картинок писать схожий код переключения, то попахивает неоптимизированностью.
Так вот что предполагается сделать. Создаем функцию обработки стрелочек общую для всех групп картинок, и общую для обоих стрелок. (Чтобы различать какую стрелочку отправили в функцию, ставим аргумент Type = 2 правой, и 1 левой.)
Внутри этой функции, в зависимости от Type мы просто прибавим или отнимем индекс массива (возможно произведем доп. проверки). Затем делаем switch или проверки на то, с какой группой картинок работает пользователь. (Предварительно при выборе группы картинок мы записываем её ID, по которому будем знать, с каким массивом работать).
Так вот, в switch ставим эти самые ID групп картинок. Получается что-то вроде:
function test(Type) // 2 = вправо, 1 = влево
{
if(Type == 2) // прибавляем к служебной переменной 1
if(Type == 1) // отнимаем 1
switch(GroupID) // для примера взял глобальную переменную, которая хранит ID группы картинок, чтобы обращатсья к массиву этой группы картинок
{
case 1: // если группа 1, то заменяем область меню на картинку из массива, которому мы присвоили ID 1.
// и так далее с каждым case
}
}