Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Есть ли паттерн для решения задачи (https://javascript.ru/forum/misc/11050-est-li-pattern-dlya-resheniya-zadachi.html)

jetli13 04.08.2010 13:38

Есть ли паттерн для решения задачи
 
Добрый день. Не знаю на сколько "правильным" будет мой вопрос.
Задача:
Существует 4 вкладки на странице. По сути почти одинаковые.
Но скажем при переключении на 2 вкладку нам на странице нужно добавить/удалить какой либо блок.

Т.е. нужен объект который бы анализировал какую закладку выбрали и подсовывал нужный вид страницы

Существует ли паттерн решающий эту задачу?

Gvozd 04.08.2010 13:43

вы пошутили?
какие паттерны?
незачм притягивать их за уши туда, где они не нужны
эта задача решается без всяких патернов

jetli13 04.08.2010 13:48

В данном примере все действительно просто, подойдет один if.
Но если вкладок много и каждой своя фишечка которую нужно отобразить/скрыть. Это все вырастает в достаточно большое количество функций. Хотелось бы все это вынести в отдельный объект и файл.
На счет паттерна - возможно он и не нужен, не знаю.
Просто хочется как это сделать так чтоб при необходимости потом что то переделать, не было мучительно больно.

Kolyaj 04.08.2010 13:53

Я так понимаю, у вас ajax-сайт?

Gvozd 04.08.2010 13:59

Цитата:

Сообщение от jetli13
Это все вырастает в достаточно большое количество функций

а как иначе?
если ты хочешь выполнять при различных условиях сотню разных действий, то тебе и понадобится сотня функций.
как ни крутись.
есть конечно вариант все запихнуть в одну функцию, и запихнуть в нее кучу условий, в зависимости от текущего состояния, и выполнения определенной части функции при условиях.
тогда мы получим одну не поддерживаемую функцию.
поэтому так ни в коем случае не стоит делать.
Цитата:

Сообщение от jetli13
Просто хочется как это сделать так чтоб при необходимости потом что то переделать, не было мучительно больно.

создай массив
его индексами будут номера вкладок, а элементами объекты со свойствами In и Out, в которых будут содержатся функции, которые следует выполнить при входе/уходе с данной вкладки

еще можешь просто помещать код функций прямо в HTML-коде вкладок, и чтобы они попадали в глобальный массив в зависимости от ID вкладки
тогда, если у тебя будет куча страниц на сайте с разными, но персекающимися наборами вкладок, будет легче поддерживать, чем глобальный код

jetli13 04.08.2010 13:59

Нет, но и аякса тоже хватает. И куча фреймов.

jetli13 04.08.2010 14:20

Gvozd,
Цитата:

создай массив
его индексами будут номера вкладок, а элементами объекты со свойствами In и Out
Примерно так и хочу, только не множество объектов, а один со множеством функций, тогда и массив не нужен будет глобальный. Этот объект будет сам понимать какую фунцию дернуть.


Часовой пояс GMT +3, время: 12:58.