Support Asian American, Native Hawaiian, and Pacific Islander-owned small businesses
$46.53 with 28 percent savings
List Price: $64.99
FREE Returns
FREE delivery Tuesday, May 6 to Nashville 37217
Or Prime members get FREE delivery Sunday, May 4.
In Stock
$$46.53 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$46.53
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Java Program Design: Principles, Polymorphism, and Patterns First Edition

4.2 out of 5 stars 10 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$46.53","priceAmount":46.53,"currencySymbol":"$","integerValue":"46","decimalSeparator":".","fractionalValue":"53","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"Z%2BJoIinG749wdxtse3ZB8o1rMP923wBLEAFRb2iEOfDYk2aovtEkKqN9tiKVnKQzPRMqotqcoFPQ8ZnAz46fx59IyV%2FWMpcRl5Zg%2BN%2BY1auYEpHUwc7P8A9k7xzOBwY2ZXVrj%2B3le1WWVUbDxLumOA%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

Get a grounding in polymorphism and other fundamental aspects of object-oriented program design and implementation, and learn a subset of design patterns that any practicing Java professional simply must know in today’s job climate.
Java Program Design presents program design principles to help practicing programmers up their game and remain relevant in the face of changing trends and an evolving language. The book enhances the traditional design patterns with Java's new functional programming features, such as functional interfaces and lambda expressions. The result is a fresh treatment of design patterns that expands their power and applicability, and reflects current best practice.
The book examines some well-designed classes from the Java class library, using them to illustrate the various object-oriented principles and patterns under discussion. Not only does this approach provide good, practical examples, but you will learn useful library classes you might not otherwise know about.
The design of a simplified banking program is introduced in chapter 1 in a non-object-oriented incarnation and the example is carried through all chapters. You can see the object orientation develop as various design principles are progressively applied throughout the book to produce a refined, fully object-oriented version of the program in the final chapter.

What You'll Learn
  • Create well-designed programs, and identify and improve poorly-designed ones
  • Build a professional-level understanding of polymorphism and its use in Java interfaces and class hierarchies
  • Apply classic design patterns to Java programming problems while respecting the modern features of the Java language
  • Take advantage of classes from the Java library to facilitatethe implementation of design patterns in your programs


Who This Book Is For
Java programmers who are comfortable writing non-object-oriented code and want a guided immersion into the world of object-oriented Java, and intermediate programmers interested in strengthening their foundational knowledge and taking their object-oriented skills to the next level. Even advanced programmers will discover interesting examples and insights in each chapter.

Editorial Reviews

From the Back Cover

Get a grounding in polymorphism and other fundamental aspects of object-oriented program design and implementation, and learn a subset of design patterns that any practicing Java professional simply must know in today’s job climate.
Java Program Design presents program design principles to help practicing programmers up their game and remain relevant in the face of changing trends and an evolving language. The book enhances the traditional design patterns with Java's new functional programming features, such as functional interfaces and lambda expressions. The result is a fresh treatment of design patterns that expands their power and applicability, and reflects current best practice.
The book examines some well-designed classes from the Java class library, using them to illustrate the various object-oriented principles and patterns under discussion. Not only does this approach provide good, practical examples, but you will learn useful library classes you might not otherwise know about.
The design of a simplified banking program is introduced in chapter 1 in a non-object-oriented incarnation and the example is carried through all chapters. You can see the object orientation develop as various design principles are progressively applied throughout the book to produce a refined, fully object-oriented version of the program in the final chapter.
What You'll Learn:

  • Create well-designed programs, and identify and improve poorly-designed ones
  • Build a professional-level understanding of polymorphism and its use in Java interfaces and class hierarchies
  • Apply classic design patterns to Java programming problems while respecting the modern features of the Java language
  • Take advantage of classes from the Java library to facilitate the implementation of designpatterns in your programs

About the Author

Edward Sciore is a recently retired Associate Professor at Boston College, who gleefully taught computer science to college students for over 35 years. This book is the result of his experiences teaching courses on Java programming, object-oriented design, and software engineering. Edward is author of Understanding Oracle APEX 5 Application Development (Apress, 2015) and Database Design and Implementation (Wiley, 2008).

Product details

  • Publisher ‏ : ‎ Apress; First Edition (December 9, 2018)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 473 pages
  • ISBN-10 ‏ : ‎ 1484241428
  • ISBN-13 ‏ : ‎ 978-1484241424
  • Item Weight ‏ : ‎ 1.5 pounds
  • Dimensions ‏ : ‎ 6.1 x 1.08 x 9.25 inches
  • Customer Reviews:
    4.2 out of 5 stars 10 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Edward Sciore
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.2 out of 5 stars
10 global ratings

Review this product

Share your thoughts with other customers

Top reviews from the United States

  • Reviewed in the United States on August 15, 2020
    Excellent.
  • Reviewed in the United States on January 20, 2019
    Every now and then a computer book appears that is destined to become a classic. The Gang of
    Four's "Design Patterns: Elements of Reusable Object-Oriented Software"
    (https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/) is
    one example. Another example is "Java Program Design."

    "Java Program Design" teaches you how to create outstanding and nontrivial Java software whose
    source code is easy to understand and easy to maintain. It accomplishes this task by
    instructing you on how to properly use Java language/API features (e.g., interfaces, lambdas,
    streams, collections, and even JavaFX) to implement architectures based on design patterns
    (e.g., strategy, decorator, observer, and model-view-controller) in order to obey fundamental
    software development principles (e.g., don't repeat yourself, open-closed, and Liskov
    Substitution). Multiple versions of a single banking example are presented throughout the book
    to help you better understand the various design concepts.

    "Java Program Design" picks up from where beginning Java books typically leave off. A beginning
    Java book focuses on teaching Java's language features and assorted APIs, and that's about it.
    If you're a Java beginner, you might want to first learn more about the Java language and
    assorted basic APIs (e.g., lambdas and streams) before diving into this book. Not much space is
    devoted to teaching language features/APIs because the emphasis is on design. However, you
    should still obtain your copy because you're bound to pick up useful design knowledge while
    learning Java basics. This book will be a great addition to your library, and the design
    concepts on which it's based will still be relevant many years from now.

    It's hard to put this book down, but you don't want to rush through it and become overwhelmed
    with everything you'll learn. Take your time and work through each chapter's examples before
    progressing to the next chapter.

    I learned alot about properly designing Java code from reading this book, and I think you will
    too. Mastering this knowledge might even help you get that promotion at work.
    3 people found this helpful
    Report
  • Reviewed in the United States on April 25, 2019
    Stay away from this book. I don't think that this book was written by Prof. Edward Sciore because the language and explanations are of very low quality and the content seems to be copied from other sources. The book is a piece of junk. I will recommend Head First Java, Head First design patterns, and Robert martin's books to those who are looking for building their Java programming skills.
    One person found this helpful
    Report
  • Reviewed in the United States on December 21, 2018
    This is a book every Java developer must read, early in their carrier. It explains object oriented concepts in detail with nice code samples written in Java. In addition to made up examples, author also uses many examples from the Java inbuilt classes to explain the value of adhering to OOP concepts, and how things are implemented. After explaining key OOP concepts, the book starts talking about design patterns. Once again, the author has used many Java code examples and class diagrams to explain the theory in a more practical manner.
    One person found this helpful
    Report