Chapter 4: Abstraction design
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Abstraction in programming
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Car metaphor
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Item 25: Each function should be written in terms of a single level of abstraction
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Level of abstraction
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
The Single Level of Abstraction principle
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Abstraction levels in program architecture
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Summary
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Item 26: Use abstraction to protect code against changes
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Constant
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Functions
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Classes
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Interfaces
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Next ID
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Abstractions give freedom
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Problems with abstraction
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
How to find a balance?
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Summary
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Item 27: Specify API stability
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Summary
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Item 28: Consider wrapping external APIs
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Summary
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Item 29: Minimize elements’ visibility
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Using visibility modifiers
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Summary
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Item 30: Define contracts with documentation
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Contracts
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Defining a contract
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Do we need comments?
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
The KDoc format
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
The type system and expectations
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Leaking implementation
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Summary
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Item 31: Respect abstraction contracts
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Contracts are inherited
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.
Summary
This content is not available in the sample book. The book can be purchased on Leanpub at http://leanpub.com/effectivekotlin.