2015-08-20 21:40:07 +02:00
<!-- the line below needs to be an empty line C: (its because kramdown isnt
that smart and dearly wants an empty line before a heading to be able to
display it as such, e.g. website) -->
# Design pattern samples in Java
2014-08-09 20:44:21 +03:00
2015-09-06 18:54:23 +02:00
[](https://travis-ci.org/iluwatar/java-design-patterns)
[](https://coveralls.io/r/iluwatar/java-design-patterns?branch=master)
[](https://scan.coverity.com/projects/5634)
2015-08-11 19:33:28 +00:00
[](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2015-09-06 18:54:23 +02:00
# Introduction {#intro}
2015-03-31 19:43:35 +03:00
2015-08-07 10:29:09 -03:00
Design patterns are formalized best practices that the programmer can use to
solve common problems when designing an application or system.
2015-03-31 19:43:35 +03:00
2015-08-07 10:29:09 -03:00
Design patterns can speed up the development process by providing tested, proven
development paradigms.
2015-03-31 19:43:35 +03:00
2015-08-07 10:29:09 -03:00
Reusing design patterns helps to prevent subtle issues that can cause major
problems, and it also improves code readability for coders and architects who
are familiar with the patterns.
2015-03-31 19:43:35 +03:00
2015-04-03 20:24:08 +08:00
2015-09-06 18:54:23 +02:00
# How to contribute {#contribute}
2015-08-30 16:00:06 +03:00
If you are willing to contribute to the project you will find the relevant information in our [developer wiki ](https://github.com/iluwatar/java-design-patterns/wiki ).
2015-09-06 18:54:23 +02:00
# Credits {#credits}
2014-09-07 19:18:43 +03:00
2014-09-07 19:20:16 +03:00
* [Design Patterns: Elements of Reusable Object-Oriented Software ](http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612 )
* [Effective Java (2nd Edition) ](http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683 )
2014-11-12 10:47:41 +00:00
* [Java Generics and Collections ](http://www.amazon.com/Java-Generics-Collections-Maurice-Naftalin/dp/0596527756/ )
2015-08-13 23:54:40 +02:00
* [Let's Modify the Objects-First Approach into Design-Patterns-First ](http://edu.pecinovsky.cz/papers/2006_ITiCSE_Design_Patterns_First.pdf )
2015-03-08 22:07:45 +02:00
* [Pattern Languages of Program Design ](http://www.amazon.com/Pattern-Languages-Program-Design-Coplien/dp/0201607344/ref=sr_1_1 )
2015-04-04 21:25:10 +03:00
* [Presentation Tier Patterns ](http://www.javagyan.com/tutorials/corej2eepatterns/presentation-tier-patterns )
2015-03-29 22:03:07 +03:00
* [Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions ](http://www.amazon.com/Functional-Programming-Java-Harnessing-Expressions/dp/1937785467/ref=sr_1_1 )
2015-07-19 14:19:05 +03:00
* [Patterns of Enterprise Application Architecture ](http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420 )
2015-07-22 01:17:42 +03:00
* [Spring Data ](http://www.amazon.com/Spring-Data-Mark-Pollack/dp/1449323952/ref=sr_1_1 )
2015-07-23 00:17:51 +03:00
* [J2EE Design Patterns ](http://www.amazon.com/J2EE-Design-Patterns-William-Crawford/dp/0596004273/ref=sr_1_2 )
2015-08-12 11:33:49 +05:30
* [Pattern Oriented Software Architecture Vol I-V ](http://www.amazon.com/Pattern-Oriented-Software-Architecture-Volume-Patterns/dp/0471958697 )
2014-09-07 19:18:43 +03:00
2015-04-04 21:37:36 +08:00
2015-09-06 18:54:23 +02:00
# License {#license}
2014-09-07 15:56:09 +03:00
2015-04-03 22:27:32 +08:00
This project is licensed under the terms of the MIT license.