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)
|