Взгляд, например, Шаблона "команда" для [закрытого] UI

Вы можете поместить все идентификаторы, которые вы хотите изменить, в массив и зациклить на нем

var array = ['theFirsttd', 'atd']

for (var item of array) {
 $(`#${item}`).attr("id", "newId");
}

, следите за тем, чтобы у вас было одинаковое имя идентификатора на нескольких элементах (что не должно происходить, поскольку идентификатор должен быть уникальным). .

Надеюсь, это поможет.

17
задан Rick 18 August 2008 в 18:31
поделиться

4 ответа

Давайте сначала удостоверимся, что мы знаем, каков Шаблон "команда":

Шаблон "команда" инкапсулирует запрос как объект и дает ему известный открытый интерфейс. Шаблон "команда" гарантирует, что каждый объект получает свои собственные команды и обеспечивает разъединение между отправителем и получателем. Отправитель является объектом, который вызывает операцию, и получатель является объектом, который получает запрос и действует на него.

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

Первый, создайте интерфейс, который описывает Команду.

public interface ICommand
{
    void Execute();
}
119-секундный, создайте объекты команды, которые реализуют интерфейс команды.

public class CutCommand : ICommand
{
    public void Execute()
    {
        // Put code you like to execute when the CutCommand.Execute method is called.
    }
}

В-третьих, мы должны установить наш invoker или объект отправителя.

public class TextOperations
{
    public void Invoke(ICommand command)
    {
        command.Execute();
    }
}

Четвертый, создайте объект клиента, который будет использовать объект invoker/sender.

public class Client
{
    static void Main()
    {
        TextOperations textOperations = new TextOperations();
        textOperation.Invoke(new CutCommand());
    }
}

я надеюсь, что можно взять этот пример и поместить его в использование для приложения, Вы продолжаете работать. Если Вы хотели бы больше разъяснения, просто сообщите мне.

20
ответ дан 30 November 2019 в 13:22
поделиться

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

2
ответ дан 30 November 2019 в 13:22
поделиться

Попробуйте открытый исходный код, редакторов.NET как SharpDevelop или Блокнот ++ .

существует (естественно) некоторое обсуждение Шаблона "команда" в http://c2.com/cgi/wiki?CommandPattern , который мог бы быть полезным.

1
ответ дан 30 November 2019 в 13:22
поделиться

QT использует Шаблон "команда" для объектов Строки меню/Панели инструментов.

QActions создаются отдельно из QMenuItem и QToolbar, и Действия могут быть присвоены QMenuItem и QToolbar с setAction () и склонность () метод соответственно.

http://web.archive.org/web/20100801023349/http://cartan.cas.suffolk.edu/oopdocbook/html/menus.html

http://web.archive.org/web/20100729211835/http://cartan.cas.suffolk.edu/oopdocbook/html/actions.html

1
ответ дан 30 November 2019 в 13:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: