From ba6511fe5dd92179ffa323593bfe4c198653c30c Mon Sep 17 00:00:00 2001 From: Narendra Pathai Date: Thu, 24 Sep 2015 12:23:02 +0530 Subject: [PATCH] Work on #226, moved POSA reference and some J2EE design pattern references --- README.md | 2 -- dao/index.md | 8 +++++++- front-controller/index.md | 6 ++++++ half-sync-half-async/index.md | 1 + intercepting-filter/index.md | 5 +++++ layers/index.md | 5 +++++ model-view-controller/index.md | 2 ++ model-view-presenter/index.md | 4 ++++ reactor/index.md | 1 + service-layer/index.md | 1 + service-locator/index.md | 6 +++++- 11 files changed, 37 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 77282f569fb7..255fca0f2843 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,6 @@ If you are willing to contribute to the project you will find the relevant infor # Credits -* [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) * [Java Generics and Collections](http://www.amazon.com/Java-Generics-Collections-Maurice-Naftalin/dp/0596527756/) * [Let's Modify the Objects-First Approach into Design-Patterns-First](http://edu.pecinovsky.cz/papers/2006_ITiCSE_Design_Patterns_First.pdf) @@ -48,7 +47,6 @@ If you are willing to contribute to the project you will find the relevant infor * [Patterns of Enterprise Application Architecture](http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420) * [Spring Data](http://www.amazon.com/Spring-Data-Mark-Pollack/dp/1449323952/ref=sr_1_1) * [J2EE Design Patterns](http://www.amazon.com/J2EE-Design-Patterns-William-Crawford/dp/0596004273/ref=sr_1_2) -* [Pattern Oriented Software Architecture Vol I-V](http://www.amazon.com/Pattern-Oriented-Software-Architecture-Volume-Patterns/dp/0471958697) # License diff --git a/dao/index.md b/dao/index.md index 7fd936c12e37..cf9f43a68899 100644 --- a/dao/index.md +++ b/dao/index.md @@ -4,7 +4,9 @@ title: Data Access Object folder: dao permalink: /patterns/dao/ categories: Architectural -tags: Java +tags: + - Java + - Difficulty-Beginner --- **Intent:** Object provides an abstract interface to some type of database or @@ -16,3 +18,7 @@ other persistence mechanism. * when you want to consolidate how the data layer is accessed * when you want to avoid writing multiple data retrieval/persistence layers + +**Credits:** + +* [J2EE Design Patterns](http://www.amazon.com/J2EE-Design-Patterns-William-Crawford/dp/0596004273/ref=sr_1_2) diff --git a/front-controller/index.md b/front-controller/index.md index dd83bc396709..ba593a157fd4 100644 --- a/front-controller/index.md +++ b/front-controller/index.md @@ -22,3 +22,9 @@ internationalization, routing and logging in a single place. **Real world examples:** * [Apache Struts](https://struts.apache.org/) + +**Credits:** + +* [J2EE Design Patterns](http://www.amazon.com/J2EE-Design-Patterns-William-Crawford/dp/0596004273/ref=sr_1_2) +* [Presentation Tier Patterns](http://www.javagyan.com/tutorials/corej2eepatterns/presentation-tier-patterns) +* [Patterns of Enterprise Application Architecture](http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420) diff --git a/half-sync-half-async/index.md b/half-sync-half-async/index.md index 0ea0254b825a..dc1930e3b0b9 100644 --- a/half-sync-half-async/index.md +++ b/half-sync-half-async/index.md @@ -30,3 +30,4 @@ degrading execution efficiency. **Credits:** * [Douglas C. Schmidt and Charles D. Cranor - Half Sync/Half Async](http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf) +* [Pattern Oriented Software Architecture Vol I-V](http://www.amazon.com/Pattern-Oriented-Software-Architecture-Volume-Patterns/dp/0471958697) diff --git a/intercepting-filter/index.md b/intercepting-filter/index.md index 9625e445db69..41825745b730 100644 --- a/intercepting-filter/index.md +++ b/intercepting-filter/index.md @@ -18,6 +18,11 @@ post-processing to requests from a client to a target * a system should do the authentication/ authorization/ logging or tracking of request and then pass the requests to corresponding handlers * you want a modular approach to configuring pre-processing and post-processing schemes +**Real world examples:** + +* [Struts 2 - Interceptors](https://struts.apache.org/docs/interceptors.html) + **Credits:** * [TutorialsPoint - Intercepting Filter](http://www.tutorialspoint.com/design_pattern/intercepting_filter_pattern.htm) +* [Presentation Tier Patterns](http://www.javagyan.com/tutorials/corej2eepatterns/presentation-tier-patterns) diff --git a/layers/index.md b/layers/index.md index 1d12d3b4eb3f..37089a19c986 100644 --- a/layers/index.md +++ b/layers/index.md @@ -17,3 +17,8 @@ tags: Java * you want clearly divide software responsibilities into differents parts of the program * you want to prevent a change from propagating throughout the application * you want to make your application more maintainable and testable + +**Credits:** + +* [Pattern Oriented Software Architecture Vol I-V](http://www.amazon.com/Pattern-Oriented-Software-Architecture-Volume-Patterns/dp/0471958697) + diff --git a/model-view-controller/index.md b/model-view-controller/index.md index f96daf2431cd..1ba1089c05c2 100644 --- a/model-view-controller/index.md +++ b/model-view-controller/index.md @@ -21,3 +21,5 @@ display. **Credits:** * [Trygve Reenskaug - Model-view-controller](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) +* [J2EE Design Patterns](http://www.amazon.com/J2EE-Design-Patterns-William-Crawford/dp/0596004273/ref=sr_1_2) +* [Patterns of Enterprise Application Architecture](http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420) diff --git a/model-view-presenter/index.md b/model-view-presenter/index.md index 609c59c132a4..b51268013205 100644 --- a/model-view-presenter/index.md +++ b/model-view-presenter/index.md @@ -17,3 +17,7 @@ situations * when you want to improve the "Separation of Concerns" principle in presentation logic * when a user interface development and testing is necessary. + +**Real world examples:** + +* [MVP4J](https://github.com/amineoualialami/mvp4j) diff --git a/reactor/index.md b/reactor/index.md index 7333c74dd228..6e20598d2f07 100644 --- a/reactor/index.md +++ b/reactor/index.md @@ -26,5 +26,6 @@ tags: **Credits** * [Douglas C. Schmidt - Reactor](https://www.dre.vanderbilt.edu/~schmidt/PDF/Reactor.pdf) +* [Pattern Oriented Software Architecture Vol I-V](http://www.amazon.com/Pattern-Oriented-Software-Architecture-Volume-Patterns/dp/0471958697) * [Doug Lea - Scalable IO in Java](http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf) * [Netty](http://netty.io/) diff --git a/service-layer/index.md b/service-layer/index.md index f9e7ac1cbf91..ea3f3d0ba546 100644 --- a/service-layer/index.md +++ b/service-layer/index.md @@ -24,3 +24,4 @@ its business logic. The Service Layer fulfills this role. **Credits:** * [Martin Fowler - Service Layer](http://martinfowler.com/eaaCatalog/serviceLayer.html) +* [Patterns of Enterprise Application Architecture](http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420) diff --git a/service-locator/index.md b/service-locator/index.md index 8c2aa641743f..03c432749c1a 100644 --- a/service-locator/index.md +++ b/service-locator/index.md @@ -10,7 +10,7 @@ tags: Java **Intent:** Encapsulate the processes involved in obtaining a service with a strong abstraction layer. -![alt text](./etc/service-locator.png "Proxy") +![alt text](./etc/service-locator.png "Service Locator") **Applicability:** The service locator pattern is applicable whenever we want to locate/fetch various services using JNDI which, typically, is a redundant @@ -26,3 +26,7 @@ improves the performance of application to great extent. * when network hits are expensive and time consuming * lookups of services are done quite frequently * large number of services are being used + +**Credits:** + +* [J2EE Design Patterns](http://www.amazon.com/J2EE-Design-Patterns-William-Crawford/dp/0596004273/ref=sr_1_2)