Κοινή χρήση τεχνολογίας

Εξερευνήστε τα μοτίβα εντολών και τις εφαρμογές τους

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

λειτουργία εντολής

λειτουργία εντολής είναι ένα μοτίβο σχεδιασμού συμπεριφοράς που μετατρέπει ένα αίτημα σε ξεχωριστό αντικείμενο που περιέχει όλες τις πληροφορίες που σχετίζονται με το αίτημα. Αυτός ο μετασχηματισμός σάς επιτρέπει να παραμετροποιήσετε μεθόδους που βασίζονται σε διαφορετικά αιτήματα, αιτήματα καθυστέρησης ή ουράς και να εφαρμόσετε λειτουργίες που δεν μπορούν να πραγματοποιηθούν.

Δομή λειτουργίας εντολής

Εισαγάγετε την περιγραφή της εικόνας εδώ

  1. αποστολέας (Αποστολέας) - επίσης γνωστή ως "Invoker" - η κλάση είναι υπεύθυνη για την προετοιμασία της αίτησης, η οποία πρέπει να περιέχει μια μεταβλητή μέλους για να αποθηκεύσει μια αναφορά στο αντικείμενο εντολής. Ο αποστολέας ενεργοποιεί την εντολή χωρίς να στείλει αίτημα απευθείας στον παραλήπτη. Σημειώστε ότι ο αποστολέας δεν είναι υπεύθυνος για τη δημιουργία του αντικειμένου εντολής: συνήθως λαμβάνει μια προ-δημιουργημένη εντολή από τον πελάτη μέσω ενός κατασκευαστή.
  2. ΣειράΗ διεπαφή (Command) συνήθως δηλώνει μόνο μια μέθοδο για την εκτέλεση της εντολής.
  3. Συγκεκριμένες παραγγελίες (Συγκεκριμένες εντολές) θα υλοποιήσει διάφορους τύπους αιτημάτων. Η ίδια η συγκεκριμένη εντολή δεν ολοκληρώνει την εργασία, αλλά αναθέτει την κλήση σε ένα αντικείμενο επιχειρηματικής λογικής. Αλλά για να απλοποιηθεί ο κώδικας, αυτές οι κλάσεις μπορούν να συγχωνευθούν. Οι παράμετροι που απαιτούνται για τη λήψη της μεθόδου εκτέλεσης του αντικειμένου μπορούν να δηλωθούν ως μεταβλητές μέλους συγκεκριμένων εντολών. Μπορείτε να κάνετε το αντικείμενο εντολής αμετάβλητο και να επιτρέψετε την προετοιμασία αυτών των μεταβλητών μελών μόνο μέσω του κατασκευαστή.
  4. δέκτης Η κλάση (δέκτης) περιέχει μέρος της επιχειρηματικής λογικής. Σχεδόν οποιοδήποτε αντικείμενο μπορεί να χρησιμεύσει ως δέκτης. Οι περισσότερες εντολές ασχολούνται μόνο με τις λεπτομέρειες του τρόπου διαβίβασης του αιτήματος στον παραλήπτη και ο παραλήπτης θα κάνει την πραγματική εργασία μόνος του.
  5. πελάτης (Πελάτης) θα δημιουργήσει και θα διαμορφώσει συγκεκριμένα αντικείμενα εντολών. Ο πελάτης πρέπει να μεταβιβάσει όλες τις παραμέτρους αιτήματος, συμπεριλαμβανομένης της οντότητας παραλήπτη, στον κατασκευαστή της εντολής. Στη συνέχεια, η παραγόμενη εντολή μπορεί να συσχετιστεί με έναν ή περισσότερους αποστολείς.

Κοινός κώδικας για τη λειτουργία εντολών:

//抽象接收者
public abstract class Receiver{
	public abstract void operation();
}

//具体接收者
public class Recevier1 extends Recevier{
	public void operation(){
		...
	}
}

//通用命令接口
public interface Command{
	void execute();
}

//具体命令类
public class ConcreteCommand1 implements Command{
	private Receiver receiver;
	
	public ConcreteCommand1(Receiver _receiver){
		 this.receiver = _receiver;
	}
	
	public void execute(){
		this.receiver.operation();
	}
}

//调用者类
public class Invoker{
	private Command command;
	
	public void setCommand(Command _command){
		this.command = _command;
	}
	
	public void executeCommand(){
		this.command.execute();
	}
	
}

//主程序类
public class Client{
	public static void main(String[] args){
		//调用者
		Invoker invoker = new Invoker();
		//接收者
		Receiver receiver1 = new Receiver1();
		//定义一个命令
		Command command = new ConcreteCommand1(receiver1);
		
		invoker.setCommand(command);
		invoker.executeCommand();
	}
}