From c1187ae0d787b39ca4019b2a9d5a16d031bef08f Mon Sep 17 00:00:00 2001 From: qza Date: Tue, 31 May 2016 20:12:27 +0200 Subject: [PATCH] #355 init abstract-document module --- abstract-document/README.md | 26 +++++++++++++++++++++++ abstract-document/pom.xml | 42 +++++++++++++++++++++++++++++++++++++ pom.xml | 3 ++- 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 abstract-document/README.md create mode 100644 abstract-document/pom.xml diff --git a/abstract-document/README.md b/abstract-document/README.md new file mode 100644 index 000000000..d9538c0bd --- /dev/null +++ b/abstract-document/README.md @@ -0,0 +1,26 @@ +--- +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 + +![alt text](./etc/abstract-document_1.png "Abstract Document") + +## 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) \ No newline at end of file diff --git a/abstract-document/pom.xml b/abstract-document/pom.xml new file mode 100644 index 000000000..e7fc58047 --- /dev/null +++ b/abstract-document/pom.xml @@ -0,0 +1,42 @@ + + + + 4.0.0 + + java-design-patterns + com.iluwatar + 1.12.0-SNAPSHOT + + abstract-document + + + junit + junit + test + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index af807b8ba..362519090 100644 --- a/pom.xml +++ b/pom.xml @@ -125,7 +125,8 @@ mutex semaphore hexagonal - + abstract-document +