26 lines
		
	
	
		
			614 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			614 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
layout: pattern
 | 
						|
title: Abstract Document
 | 
						|
folder: abstract-document
 | 
						|
permalink: /patterns/abstract-document/
 | 
						|
categories: Structural
 | 
						|
tags: 
 | 
						|
 - Java
 | 
						|
 - Difficulty-Intermediate
 | 
						|
---
 | 
						|
 | 
						|
## Intent
 | 
						|
Achieve flexibility of untyped languages and keep the type-safety 
 | 
						|
 | 
						|

 | 
						|
 | 
						|
## Applicability
 | 
						|
Use the Abstract Document Pattern when
 | 
						|
 | 
						|
* there is a need for dynamic properties
 | 
						|
* you want a better way to organize domain
 | 
						|
* you want loosely coupled system with flexibility of untyped languages
 | 
						|
 | 
						|
## Real world examples
 | 
						|
 | 
						|
* [Speedment](https://github.com/speedment/speedment) |