| 
									
										
										
										
											2015-08-13 23:54:40 +02:00
										 |  |  | --- | 
					
						
							|  |  |  | layout: pattern | 
					
						
							|  |  |  | title: Model-View-Presenter | 
					
						
							|  |  |  | folder: model-view-presenter | 
					
						
							| 
									
										
										
										
											2015-08-15 18:03:05 +02:00
										 |  |  | permalink: /patterns/model-view-presenter/ | 
					
						
							| 
									
										
										
										
											2015-08-20 21:40:07 +02:00
										 |  |  | categories: Presentation Tier | 
					
						
							|  |  |  | tags: Java | 
					
						
							| 
									
										
										
										
											2015-08-13 23:54:40 +02:00
										 |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **Intent:** Apply a "Separation of Concerns" principle in a way that allows | 
					
						
							|  |  |  | developers to build and test user interfaces. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **Applicability:** Use the Model-View-Presenter in any of the following | 
					
						
							|  |  |  | situations | 
					
						
							| 
									
										
										
										
											2015-09-03 16:22:26 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-13 23:54:40 +02:00
										 |  |  | * when you want to improve the "Separation of Concerns" principle in presentation logic | 
					
						
							| 
									
										
										
										
											2015-08-15 18:03:05 +02:00
										 |  |  | * when a user interface development and testing is necessary. | 
					
						
							| 
									
										
										
										
											2015-09-24 12:23:02 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | **Real world examples:** | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * [MVP4J](https://github.com/amineoualialami/mvp4j) |