The SOLID Principles

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

The five SOLID principles

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

SRP Single Responsibility - do one thing well

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

What is ‘one thing’, anyway?

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

DIP Dependency Inversion: Bring out the Big Picture

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

What is an ‘inverted dependency’?

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Why is ‘new’ such a problem?

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Inverting the input Dependency

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Making a concrete KeyboardInput class

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Dependency Injection - using our inverted dependency

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Swappable input sources

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Inverting the output to display

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Inversion - Injection: two sides of the same coin

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

LSP Liskov Substitution Principle - Making things swappable

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

When Shapes go Bad

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Substitutability

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

OCP Open/Closed Principle - adding without change

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Strategy Pattern: Externalising behaviour

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

ISP Interface Segregation Principle - honest interfaces

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Bad Example: TV Controls

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Fixing our ISP violation

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Redesigning to Command objects

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.

Pragmatics: I would choose to do it wrong

This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/javaoopdoneright.