Update README.md
This commit is contained in:
		| @@ -9,14 +9,16 @@ tags: | ||||
| --- | ||||
|  | ||||
| ## Intent | ||||
| Callback is a piece of executable code that is passed as an argument to other code, which is expected to call back  | ||||
| (execute) the argument at some convenient time. | ||||
|  | ||||
| Callback is a piece of executable code that is passed as an argument to other code, which is  | ||||
| expected to call back (execute) the argument at some convenient time. | ||||
|  | ||||
| ## Explanation | ||||
|  | ||||
| Real world example | ||||
|  | ||||
| > We need to be notified after executing task has finished. We pass a callback method for the executor and wait for it to call back on us.      | ||||
| > We need to be notified after executing task has finished. We pass a callback method for  | ||||
| > the executor and wait for it to call back on us.      | ||||
|  | ||||
| In plain words | ||||
|  | ||||
| @@ -24,7 +26,9 @@ In plain words | ||||
|  | ||||
| Wikipedia says | ||||
|  | ||||
| > In computer programming, a callback, also known as a "call-after" function, is any executable code that is passed as an argument to other code; that other code is expected to call back (execute) the argument at a given time. | ||||
| > In computer programming, a callback, also known as a "call-after" function, is any executable  | ||||
| > code that is passed as an argument to other code; that other code is expected to call  | ||||
| > back (execute) the argument at a given time. | ||||
|  | ||||
| **Programmatic Example** | ||||
|  | ||||
| @@ -61,7 +65,7 @@ public final class SimpleTask extends Task { | ||||
| } | ||||
| ``` | ||||
|  | ||||
| Finally here's how we execute a task and receive a callback when it's finished. | ||||
| Finally, here's how we execute a task and receive a callback when it's finished. | ||||
|  | ||||
| ```java | ||||
|     var task = new SimpleTask(); | ||||
| @@ -69,13 +73,15 @@ Finally here's how we execute a task and receive a callback when it's finished. | ||||
| ``` | ||||
|  | ||||
| ## Class diagram | ||||
|  | ||||
|  | ||||
|  | ||||
| ## Applicability | ||||
|  | ||||
| Use the Callback pattern when | ||||
|  | ||||
| * when some arbitrary synchronous or asynchronous action must be performed after execution of some defined activity. | ||||
|  | ||||
| ## Real world examples | ||||
|  | ||||
| * [CyclicBarrier](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CyclicBarrier.html#CyclicBarrier%28int,%20java.lang.Runnable%29) constructor can accept callback that will be triggered every time when barrier is tripped. | ||||
| * [CyclicBarrier](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CyclicBarrier.html#CyclicBarrier%28int,%20java.lang.Runnable%29) constructor can accept a callback that will be triggered every time a barrier is tripped. | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 18 KiB | 
| @@ -8,11 +8,6 @@ package com.iluwatar.callback { | ||||
|   interface Callback { | ||||
|     + call() {abstract} | ||||
|   } | ||||
|   class LambdasApp { | ||||
|     - LOGGER : Logger {static} | ||||
|     - LambdasApp() | ||||
|     + main(args : String[]) {static} | ||||
|   } | ||||
|   class SimpleTask { | ||||
|     - LOGGER : Logger {static} | ||||
|     + SimpleTask() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user