Java EE patterns - Registry and others - relevance

2.4k views Asked by At

I am reading the book Patterns of enterprise application architecture. While going through the basic patterns - such as Registry pattern I am finding that possibilities that these patterns which were first published in Nov,2002 may not be the best possible solutions to go for.

For example take the Registry pattern. In our organization we use simple JDBC calls for db operations and if needed pass the connection object for a single transaction. This approach is not the best - but the alternative of using Registry pattern also is not seeming good as the dependency would then not be visible - can be an issue for testing. Dependency Injection is suggested as a better way to implement this behavior.

Can anyone who has worked on Java EE web/enterprise apps comment on this - and what would you recommend to analyze the usage of each pattern (its pros and cons?). Any recent book that does a coverage of this in detail?.

1

There are 1 answers

1
Pascal Thivent On BEST ANSWER

(...) Any recent book that does a coverage of this in detail?

I recommend Adam Bien's Real World Java EE Patterns if you're looking for an up to date coverage of patterns and best practices with Java EE 5 and 6:

Real World Java EE Patterns

Real World Java EE Patterns includes coverage of:

  1. An introduction into the core principles and APIs of Java EE 6 (EJB, JPA, JMS, JCA, JTA, Dependency Injection, Convention Over Configuration, Interceptors, REST)
  2. Principles of transactions, Isolation Levels, Remoting in context of Java EE 6
  3. Mapping of the Core J2EE patterns into Java EE
  4. Discussion of superfluous patterns and outdated best practices like DAOs, Business Delegates, Data Transfer Objects extensive layering, indirections etc.
  5. Business layer patterns for domain driven and service oriented architectures
  6. Patterns for integration of asynchronous, legacy, or incompatible resources
  7. Infrastructural patterns for eager-starting of services, thread tracking, pre-condition checks, Java EE 6 lookups or integration of third-party Dependency Injection frameworks like Guice
  8. Hints for efficient documentation and testing
  9. Lean and pragmatic service and domain driven architectures, based on the discussed patterns
  10. Fully functional Java Connector Architecture (JCA) implementation with source code
  11. EJB 2 - EJB 3 migration