ISP Seminar 3

Previzualizare seminar:

Extras din seminar:

3.1.COMMAND

Înglobeaza cererea pentru o actiune specifica în interiorul unui obiect cu o interfata publica; clientul are astfel posibilitatea de a efectua cereri fara sa fie obligat sa stie exact ce actiuni vor fi executate ca raspuns la cererea sa, permitând astfel modificarea actiunilor când este necesar- fara a modifica si codul client;

Fiecare obiect îsi primeste propriile comenzi în mod direct, prin intermediul unui obiect de tip Command, acesta din urma are întotdeauna o metoda Execute() ce este apelata la aparitia unei cereri, si care este definita de fiecare obiect apelat în parte;

Este utila când se doreste separarea unei interfete grafice de actiunile initiate de catre interfata (exemplul 2), la trecerea într-o coada de asteptare a acelor actiuni ce necesita resurse ocupate momentan (ex1), sau la operatii de tip Undo.

Diagrama.

Exemple.

1.(B.Eckel)

//: command:CommandPattern.java

package command;

import java.util.*;

import junit.framework.*;

interface Command {

void execute();

}

class Hello implements Command {

public void execute() {

System.out.print("Hello ");

}

}

class World implements Command {

public void execute() {

System.out.print("World! ");

}

}

class IAm implements Command {

public void execute() {

System.out.print("I'm the command pattern!");

}

}

// An object that holds commands:

class Macro {

private List commands = new ArrayList();

public void add(Command c) { commands.add(c); }

public void run() {

Iterator it = commands.iterator();

while(it.hasNext())

((Command)it.next()).execute();

}

}

public class CommandPattern extends TestCase {

Macro macro = new Macro();

public void test() {

macro.add(new Hello());

macro.add(new World());

macro.add(new IAm());

macro.run();

}

public static void main(String args[]) {

junit.textui.TestRunner.run(CommandPattern.class);

}

} ///:~

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • ISP Seminar 3.DOC
Alte informații:
Tipuri fișiere:
doc
Nota:
6/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
4 pagini
Imagini extrase:
4 imagini
Nr cuvinte:
649 cuvinte
Nr caractere:
4 307 caractere
Marime:
8.74KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Seminar
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!