For Java programmers, mastering object-oriented design theory and some design patterns is an essential skill. To start programming without learning a theory is similar to learning a language without studying the alphabet. There's a lot of object-oriented theory, design patterns and best practices on the market, but only a few books are really worth reading. There are two things involved, one is object-oriented theory and the other is design pattern. The former is the foundation and the latter is based on best practices. We should first learn the object-oriented theory, and then learn the design patterns, to see how these theories help us solve the daily problems encountered. The following five books are recommended to help you learn about object-oriented theory and design patterns. These books are from shallow to deep. There is a slight difference between the design pattern and the core Java design pattern, but for Java programmers, the core EE design books are also a good choice for learning.
The best five books on Java design patterns
Here's a list of books I've learned about object-oriented and design patterns. Design patterns are best practices that have been summed up by predecessors in solving some similar problems. The following five books also apply to other object-oriented languages. If you know other excellent design patterns of books, please recommend to us.
1. Head first Design Patterns by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
This is the first book I've ever read, and the first object-oriented book, and I don't know how to use abstract classes and interfaces, and I don't know why the combination is better than the interface. In the first few years of development, I tend to write code based on requirements, but after more changes and more testing, more bugs are often introduced. Thanks to my studious spirit, I found head first Design Pattern. After reading the first verse, I felt very happy. It can be said that the book is very basic, but it is more difficult to learn the basics than to learn advanced things. This book truly teaches us the basics. It is a must-read design pattern book for every Java programmer, including experienced, senior programmers. I also suggest that learning design patterns should begin with this book. Not only does it explain the concept in a clear way, it also gives a lot of diagrams, exercises, tests, and living examples to help you think and absorb. I'm a huge fan of head first series because head first Java and head first Design Pattern. There are many great examples of Head first Design patterns, and anyone who wants to learn about object-oriented fundamentals (such as interfaces, encapsulation, polymorphism, abstraction, etc.) should read this book. The decorative pattern (Decorator design pattern) and the Observer pattern (Observer design pattern) are very good two chapters.
2. Design Patterns:elements of reusable object-oriented software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissi Des
This is the classic design pattern of gang of Four (GOF) book, it is also a lot of other object-oriented design pattern books for reference. If there is no such book on the mandatory reading list of design patterns, it is incomplete. After nearly 20 years of publication, the subject of this book is still close to the object-oriented and design pattern theory. This book revolves around designing an example of a document editor that explains a variety of design patterns, such as creational patterns, Structural and behavioral patterns. Personal humble opinion, this book is the best design pattern book. For every Java programmer, this book, as well as Java concurrency in practice and effective Java, is a must-read book. You can buy this book from Amazon, with a paper version and a multimedia CD.
3. Design Patterns explained:a New Perspective on object-oriented Design (2nd Edition) by Alan Shalloway, James R. Trott
Like multithreading and concurrency, design patterns are not easy to understand. The most difficult part of this is understanding and applying it to real-life examples. This is why it is worthwhile to read a few more books on Java design patterns. Because for some programmers, a writer's writing style is more readable than other authors. But Joshua Bloch is an exception, and his writing style is used by some programmers. Design Patterns explained:a New perspective on object-oriented The book is another book that learns the pattern of face objects. Although it has no new content, it also introduces the object-oriented theory, UML and decorator pattern, Factory mode, observer pattern and other design patterns. But it's more understandable for many beginners. The examples in this book are also very good.
4. Software Architecture Design Patterns in Java by Partha Kuchana
This is another book on this topic that covers not only all object-oriented foundations (classes, objects, inheritance, polymorphism, abstraction, encapsulation), but also some practical but not obvious details, such as private methods, getter and setter methods, immutable objects, interfaces and monitors (monitor). This book also has some more in-depth object-oriented knowledge, such as creating patterns (creational patterns), collection patterns (Collection patterns), structural patterns (Structural patterns), Behavior patterns (behavioral patterns), and concurrency (Concurrency patterns). It is also interesting to tell about the Factory mode and the singleton mode. Another reason I like this book is that there are a lot of practical questions and UML diagrams, so that not only can understand the problem more deeply, but also can be helpful in practical application, it is also the most important role of learning design pattern. In the end, the book is designed to enable us to apply design patterns to real-world scenarios by learning examples of software design for web hosting companies. In short, "Software Architecture design Patterns in Java" can help you to fully learn the pattern.
5. Core Java EE patterns:best practices and Design Strategies (2nd Edition) by Deepak Alur, Dan malks, and John Crupi
The Java EE platform is one of the most popular development methods for programming languages, which focuses on solving network and enterprise problems, and has its own problems and needs. The core Java EE model describes some of the most useful design patterns in the Java EE world, such as interceptor filters (intercepting Filters), front-end controllers (Front Controller), MVC patterns, data Access object patterns Object, DAO pattern), view helper mode (view Resolver pattern), or view parser, service Locator pattern, and so on. This book will design patterns according to functional classification, divided into presentation layer design patterns, logic layer design patterns. This is a must-read book for every Java and EE programmer who needs to write Web applications and enterprise applications. Although the modern framework such as spring has ensured that you are exposed to these Java EE Design patterns at the framework level, such as spring MVC ensures the use of MVC, it also uses both the front-end controller (dipatcherservlet) and the View parser (Viewresolver). The spring framework also guarantees the use of dependency injection and IOC at the container layer. In short, whether you use spring MVC, structs or other web frameworks, learning the Java EE pattern will not only help you understand the code written by previous generations, but also allow you to write code that is easier to maintain.
In addition to the above five books, you can look at Joshua Bloch's effective Java second Edition and head first object Oriented analysis and design, You can learn more about the theory of face objects and how to apply them in Java programming. Effective Java is a must-read book for Java programmers because it explains how many Java libraries are designed.
Reprint Source: http://www.importnew.com/6374.html
5 books on the best Java object-oriented theory and design patterns