Java Design Pattern Essentials - Second Edition (available as a paperback book or as a downloadable eBook) will help take your knowledge of the fundamentals of the Java programming language and put it into practice in the real world by learning about Design Patterns.
Now you too can use the techniques developed by experts over the last couple of decades to solve your programming challenges, through easy to implement solutions to the most common problems that programmers face. Understanding design patterns is essential in being able to write clear, concise and effective code, even for complex applications.
Java Design Pattern Essentials - Second Edition gives you a step-by-step guide to the world of object-oriented software development, using tried and trusted techniques. The examples and code extracts have been deliberately kept simple, enabling you to concentrate on understanding the concepts and application of each pattern rather than having to wade through irrelevant source code. And the pattern examples have been designed around a common theme, making it easier for you to see how they relate to each other and more importantly how you can adapt them to your applications.
While the book assumes a basic knowledge of Java you certainly don't need to be a guru. This book is perfect for the programmer who wishes to take their skills up to the next level, so you can feel confident about using Java in real-world applications.
Coverage includes:
- All 23 of the design patterns described in the seminal work of Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley, 1995)
- Additional patterns for use in real-world applications
- Full, simple explanation of the Model-View-Controller (MVC) pattern
- Sample 3-tier application applying commonly used patterns
- Easy to follow UML diagrams
- Advice on how to use the patterns in practice
The author has over three decades of software development experience and is a Sun Certified Java Programmer.
Reviews
"Excellent book with a lots of a real world examples. I throughly enjoyed it and using it all the time."
by Mr N. Singh (via Amazon)
"Great book. Very concise with no padding or bloat."
by DG (via Amazon)
by Emil (via Amazon)
Buy the book now from Amazon
Java Design Pattern Essentials - Second Edition: Amazon.co.uk: Bevis, Tony: 9780956575845: Books
Table of contents
Preface
Preface to the Second Edition
Part I: Introduction
- 1. What are Design Patterns?
Part II: Creational Patterns
- 2. Abstract Factory
- 3. Builder
- 4. Factory Method
- 5. Prototype
- 6. Singleton
Part III: Structural Patterns
- 7. Adapter
- 8. Bridge
- 9. Composite
- 10. Decorator
- 11. Facade
- 12. Flyweight
- 13. Proxy
Part IV: Behavioural Patterns
- 14. Chain of Responsibility
- 15. Command
- 16. Interpreter
- 17. Iterator
- 18. Mediator
- 19. Memento
- 20. Observer
- 21. State
- 22. Strategy
- 23. Template Method
- 24. Visitor
Part V: Other Useful Patterns
- 25. Null Object
- 26. Simple Factory
- 27. Model View Controller
- 28. Layers
Part VI: Design Patterns in Practice
- 29. Sample 3-Tier Application
Part VII: Appendixes
- A: UML Diagrams
- B: Quick Reference
- C: Bibliography
Chapter 1
- (eBook only): In the
toString()method inAbstractVehiclethere is a missing quotation mark just before the semi-colon; - (paperback page 25 and eBook): The last sentence in point 4 should read: An example pattern that uses this principle is Strategy.;
Chapter 2
- (paperback page 30 and eBook): Given that class names should be named in the singular the interface
Windowsand implementing classesCarWindowsandVanWindowswould probably be better named asGlassware,CarGlasswareandVanGlasswarerespectively;
Chapter 5
- (eBook only): In the
toString()method inAbstractVehiclethere is a missing quotation mark just before the semi-colon.
Chapter 7
- (paperback page 64 and eBook): The last line of output after using the adapter class should be SuperGreenEngineAdapter (1200) and not SuperGreenEngine (1200).
Chapter 8
- (paperback page 71 and eBook): The line of code in the constructor of
SportControlsshould besuper(engine);.
Chapter 10
- (paperback page 80 and eBook): In the constructor within class
AbstractVehicleOptionthe first line should readsuper(vehicle.getEngine(), vehicle.getColour());in order for both the engine and colour attributes to be set.
Chapter 16
- (paperback page 119 and eBook): Inside the
interpret()method of classMostEasterlyExpressionthe comparison should be:if (currentCity.getLongitude() > resultingCity.getLongitude())
Chapter 17
- (paperback page 126 and eBook): Inside the constructor of the modified version of the
VanRangeclass (toward the end of the chapter) the createdEngineinstances calledonePointSixandtwoLitreTurboare unused and should be deleted.
Chapter 20
- (paperback page 149 and eBook): In subsection An alternative approach using events & listeners the paragraph just before the modified version of
SpeedMonitorshould read - "TheSpeedMonitorclass is our listener and now needs to implement theSpeedometerListenerinterface instead ofjava.util.Observer."
Chapter 21
- (paperback page 155 and eBook): In class
MonthSetupStatethe first statement inside methodselectValue()should read:System.out.println("Month set to " + (month + 1)); - (paperback page 156 and eBook): In class
HourSetupStatethe last statement inside the constructor should read:hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
Chapter 22
- (paperback page 163 and eBook): The second constructor in class
AbstractCarshould specify a second argument defined asVehicle.Colour colour, and the first statement inside the constructor should besuper(engine, colour);
Comments