Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java(UML)中术语调用、委托和分派之间的区别是什么_Java_Design Patterns_Uml - Fatal编程技术网

Java(UML)中术语调用、委托和分派之间的区别是什么

Java(UML)中术语调用、委托和分派之间的区别是什么,java,design-patterns,uml,Java,Design Patterns,Uml,那么,问题是Java(UML)中术语调用、委托和分派之间的区别是什么。当我阅读核心J2EE模式时,作者使用这些术语。这就是为什么我想确切地知道它们之间的区别。据我所知,UML没有专门提供上述三个术语的定义。我对他们的理解是: “Invoke”只是将消息从对象a发送到对象B(调用方法)。没有说明该信息的目的 “委托”是指对象A使用对象B来履行其某些职责 大概是这样的: class FlyingCar extends Car { private Car regularCarDelegate;

那么,问题是Java(UML)中术语调用、委托和分派之间的区别是什么。当我阅读核心J2EE模式时,作者使用这些术语。这就是为什么我想确切地知道它们之间的区别。

据我所知,UML没有专门提供上述三个术语的定义。我对他们的理解是:

  • “Invoke”只是将消息从对象a发送到对象B(调用方法)。没有说明该信息的目的
  • “委托”是指对象A使用对象B来履行其某些职责
大概是这样的:

class FlyingCar extends Car {
  private Car regularCarDelegate;

  void takeOff() {
    // logic
  }
  @Override void accelerate() {
    // delegate to the regular car's accelerate()
    regularCarDelegate.accelerate();
  }
}
  • “分派”通常具有并发含义。当您的代码分派一个异步工作程序来完成某项任务时,它正在忙于做其他事情:

void updateContactList(){
//派遣
Future contacts=backend.fetchContacts();
//绘制微调器动画,禁用一些UI按钮等。
}
void updateContactList() {
  // dispatch
  Future<ContactList> contacts = backend.fetchContacts();
  // draw the spinner animation, disable some UI buttons etc.
}