diff --git a/component/README.md b/component/README.md new file mode 100644 index 000000000..024e7455c --- /dev/null +++ b/component/README.md @@ -0,0 +1,25 @@ +--- +layout: pattern +title: Component +folder: component +permalink: /patterns/component/ +categories: Behavioral +tags: + - Java +--- + +## Intent + +> Allow a single entity to span multiple domains without coupling the domains to each other. + +## Class diagram +![alt text](./etc/commander.urm.png "Commander class diagram") + +## Applicability +1.You want to keep decoupled from each other in a class which contains multiple domains. +2.A class is too big and massive. + + +## Reference + +* [http://gameprogrammingpatterns.com/component.html] diff --git a/component/component.iml b/component/component.iml new file mode 100644 index 000000000..f7c05039f --- /dev/null +++ b/component/component.iml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/component/pom.xml b/component/pom.xml new file mode 100644 index 000000000..62a95ec9c --- /dev/null +++ b/component/pom.xml @@ -0,0 +1,48 @@ + + + + java-design-patterns + com.iluwatar + 1.23.0-SNAPSHOT + + 4.0.0 + + component + + + junit + junit + 4.12 + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.component.App + + + + + + + + + + \ No newline at end of file