BIG
DATA

JAVA

TOP 5 OBJECT ORIENTED PROGRAMMING BOOKS

Back to Books Index
Read more about »
  • Java 9 features
  • Read about Hadoop
  • Read about Storm
  • Read about Storm
 

Top 5 books to Learn Object Oriented Programming

Following are the books recommended by CoreJavaGuru, which are worth the investment for a bright future. You may have to try these books to boost your confidence during coding interviews.

Whether an individual is an object oriented designer, an architect, a developer or a simple programmer, there are a few design problems that are universal, and for anyone serious about their work, such hindrances can be quite a downer.

Design Patterns: Elements Of Reusable Object-Oriented Software is a guide that teaches readers how to make use of standard design patterns for finding effective solutions to design problems encountered on a daily basis.

The book contains around 23 patterns, all explained methodically and in detail, to create designs, which are not only reusable but also quite flexible. Also, these improved designs do not require the author to go back to the design solution each time.

First, the authors explain and discuss what "patterns" are and how they come to play in object-oriented design. Next, they move to designs that frequently occur in object-oriented design processes and then name, explain, and study them.

From this book, the readers can understand how these patterns contribute to the development of software patterns and how they can be used to solve any design problems that may occur.

This is one of the Head First series books that teaches concepts in an easy and interactive manner, with lots of visuals. Head First Design Patterns, as the name suggests, deals with software design patterns. These design patterns can be considered as templates that can be used as a base to develop new code.

According to the authors, it is not necessary to reinvent the wheel when it already exists. Just use it and concentrate on building other things instead. So, this book shows how software design can be made easier by taking advantage of the patterns already out there in the digital universe. Studying some of the best design techniques can really cut down on the development time of new software.

Head First Design Patterns starts with a farcical project - building a duck simulation program. This section is told from the viewpoint of the programmer, Joe, who has to build a virtual duck, with all its appearances and behavior. Using this object model, he has to populate the virtual duck pond.

Head First Design Patterns covers object-oriented concepts, design patterns, and relevant Java features so that at the end of the book, the reader gets a good practical understanding of the subject.

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.

Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Tired of reading Object Oriented Analysis and Design books that only makes sense after you're an expert? You've heard OOA&D; can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy.

But how? Head First Object-Oriented Analysis & Design shows you how to analyze, design, and write serious object-oriented software: software that's easy to reuse, maintain, and extend; software that doesn't hurt your head; software that lets you add new features without breaking the old ones.

Inside you will learn how to:
Use OO principles like encapsulation and delegation to build applications that are flexible Apply the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) to promote reuse of your code Leverage the power of design patterns to solve your problems more efficiently Use UML, use cases, and diagrams to ensure that all stakeholders are communicating clearly to help you deliver the right software that meets everyone's needs. By exploiting how your brain works, Head First OOA&D; compresses the time it takes to learn and retain complex information. Expect to have fun, expect to learn, expect to be writing great software consistently by the time you're finished reading this!