Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Introduction to Programming

You're reading from   Introduction to Programming Learn to program in Java with data structures, algorithms, and logic

Arrow left icon
Product type Paperback
Published in Jun 2018
Publisher Packt
ISBN-13 9781788839129
Length 722 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Nick Samoylov Nick Samoylov
Author Profile Icon Nick Samoylov
Nick Samoylov
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

Preface 1. Java Virtual Machine (JVM) on Your Computer FREE CHAPTER 2. Java Language Basics 3. Your Development Environment Setup 4. Your First Java Project 5. Java Language Elements and Types 6. Interfaces, Classes, and Object Construction 7. Packages and Accessibility (Visibility) 8. Object-Oriented Design (OOD) Principles 9. Operators, Expressions, and Statements 10. Control Flow Statements 11. JVM Processes and Garbage Collection 12. Java Standard and External Libraries 13. Java Collections 14. Managing Collections and Arrays 15. Managing Objects, Strings, Time, and Random Numbers 16. Database Programming 17. Lambda Expressions and Functional Programming 18. Streams and Pipelines 19. Reactive Systems 20. Other Books You May Enjoy

Object-Oriented Design (OOD) Principles

In this chapter, we are going to get back to a high-level view of programming and Java programming in particular. We will show the role of design in the process of a software system, starting with the earliest feasibility phase, going through high-level design, detailed design, and ending with the coding and testing. We will discuss the criteria for a good design and provide a guide to the well-proven OOD principles. The discussion will be illustrated by code examples that demonstrate the application of the main OOD principles.

In this chapter, we will cover the following topics:

  • What is the purpose of design?
  • Encapsulating and programming to an interface
  • Taking advantage of polymorphism
  • Decoupling as much as you can
  • Preferring aggregation over inheritance
  • So many OOD principles and so little time
  • Single Responsibility Principle
  • Open Closed...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image