diff --git a/README.md b/README.md index 4724ea332..919671290 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,11 @@ -#### Browse and view all of the patterns on our Website: [iluwatar.github.io/java-design-patterns/](https://iluwatar.github.io/java-design-patterns/) - # Table of Contents - Introduction - Frequently Asked Questions - - How to contribute - - Versioning - Credits - License @@ -97,98 +93,6 @@ blocked waiting for available object from the pool. This is not the case with Flyweight. - -# How to contribute [↑](#top) - -**To work on a new pattern** you need to do the following steps: - -1. If there is no issue for the new pattern yet, raise new issue. Comment on - the issue that you are working on it so that others don't start work on the - same thing. -2. Fork the repository. -3. Create a new folder for the pattern. The rough structure of the new folder would be as follows: - * etc (every resource related to the pattern, like diagrams) - * src (the source code of the pattern) - * index.md (the description of the pattern) - * pom.xml (the maven pom.xml) -4. Implement the code changes in your fork. Remember to add sufficient comments - documenting the implementation. Reference the issue id e.g. #52 in your - commit messages. -5. Format the code according to [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html) - * [Eclipse configuration](https://github.com/google/styleguide/blob/gh-pages/eclipse-java-google-style.xml) - * [IntelliJ configuration](https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml) -6. Create a simple class diagram from your example code and put it inside of the etc folder. -7. Add description of the pattern in index.md and link to the class diagram. - (Attention, all internal links must be relative to the pattern subdirectory, else the links dont link properly on the website) -8. Create a pull request. - -**Structure of the index.md file** - -```markdown ---- # this is so called 'Yaml Front Matter', read up on it here: http://jekyllrb.com/docs/frontmatter/ -layout: pattern # layout must allways be pattern -title: Best Pattern Ever # the properly formatted title -folder: best-pattern-ever # the folder name in which this pattern lies -permalink: /patterns/best-pattern-ever/ # the permalink to the pattern, to keep this uniform please stick to /patterns/FOLDER/ - -# both categories and tags are Yaml Lists -# you can either just pick one or write a list with '-'s -# usable categories and tags are listed here: https://github.com/iluwatar/java-design-patterns/blob/gh-pages/_config.yml -categories: creational # categories of the pattern -tags: # tags of the pattern - - best - - ever - - awesome ---- - -**Intent:** Makes your code awesome - -![alt text](./etc/best_pattern.png "Best Pattern Ever") - -**Applicability:** Use the Best Pattern Ever pattern when - -* you want to be the best -* you need to ... - -**Real world examples:** - -* [Nowhere](http://no.where.com) -``` - -**To add a new category or tag** you need to edit the _config.yml file of the gh-pages branch. -In there you should find 2 yaml lists with the respective names 'category-list' and 'tag-list' - -**To work on one of the non-pattern issues** you need to do the following steps: - -1. Check that the issue has "help wanted" badge -2. Comment on the issue that you are working on it -3. Fork the repository. -4. Implement the code changes in your fork. Remember to add sufficient comments - documenting the implementation. Reference the issue id e.g. #52 in your - commit messages. -5. Create a pull request. - -**For creating/editing UML diagrams** you need [ObjectAid UML Explorer for Eclipse](http://www.objectaid.com/home). - -**For inspiration** check out the following sources: - -* there is a good list of design patterns at [Wikipedia](http://en.wikipedia.org/wiki/Software_design_pattern) -* Martin Fowler's [Catalog of Patterns of Enterprise Application Architecture](http://martinfowler.com/eaaCatalog/) -* [pattern language for microservices](http://microservices.io/patterns/index.html) -* Microsoft's [Cloud Design Patterns](http://download.microsoft.com/download/B/B/6/BB69622C-AB5D-4D5F-9A12-B81B952C1169/CloudDesignPatternsBook-PDF.pdf) - -**Links to patterns applied in real world applications** are welcome. The links -should be added to the corresponding section of the `index.md`. - - -# Versioning [↑](#top) - -Java-design-patterns project uses [semantic versioning](http://semver.org/) -scheme. However, version numbers in this project do not signify binary releases -(since we don't make any) but rather milestones achieved on the roadmap. In -other words, version numbers are used only for project planning sake. - - # Credits [↑](#top) * [Design Patterns: Elements of Reusable Object-Oriented Software](http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612)