Jump to ratings and reviews
Rate this book

Simple Object-Oriented Design: Create clean, maintainable applications

Rate this book
Write object-oriented code that’s manageable, maintainable, and future-proof.

Keeping your object-oriented designs simple demands a creative approach—and that’s exactly what you’ll find in Simple Object-Oriented Design. This book is full of patterns and principles for reducing complexity, each one proven in author Mauricio Aniche’s 20-year career in software development. You’ll learn how to tackle code’s natural growth in complexity, and adopt a “good enough” approach that means it’s easy to refactor when requirements change.

You’ll discover insightful principles

Making code readable and documented Improving consistency and encapsulation Managing dependencies Designing abstractions Handling infrastructure Effective modularization
Learn what constitutes both good and bad object-oriented software design, discover how to make better trade-offs in design decisions, and when to embrace complexity over simpler data structures. With this book as your vital reference, you’ll be ready to write code that will last the test of time, without slowing feature delivery to a crawl.

About the technology

Even a simple object-oriented application can quickly become complex as it evolves. Each new class, method, or feature means more state and abstractions to manage, which in turn increases complexity, maintenance, and time spent detangling legacy code. It takes effort and skill to keep your codebase simple. This book shows you how.

About the book

Simple Object-Oriented Create clean, maintainable applications presents practical design principles you can use to keep an object-oriented codebase simple as it grows and changes. Written as a collection of practical techniques you can apply in any OO language, it offers tips for concise code, managing dependencies and modules, and designing flexible abstractions. Illuminating figures, real-world examples, and insightful exercises make each principle stick.

What's inside

Writing simple, understandable classes Flexible abstractions to extend your designs Reducing the impact of coupling
About the reader

Readers should be familiar with an object-oriented language like Java, C#, or Python.

About the author

Maurício Aniche is a software engineer with 20 years of experience. He’s also an Assistant Professor in Software Engineering at Delft University of Technology, and the author of Effective Software Testing.

Table of Contents

1 It’s all about managing complexity
2 Making code small
3 Keeping objects consistent
4 Managing dependencies
5 Designing good abstractions
6 Handling external dependencies and infrastructure
7 Achieving modularization
8 Being pragmatic

191 pages, Kindle Edition

Published June 4, 2024

5 people are currently reading
26 people want to read

About the author

Mauricio Aniche

9 books16 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
9 (52%)
4 stars
5 (29%)
3 stars
1 (5%)
2 stars
1 (5%)
1 star
1 (5%)
Displaying 1 - 3 of 3 reviews
46 reviews
June 19, 2024
Um excelente livro pra quem está começando. Na verdade, se eu tivesse lido isso no início teria poupado tantas situações! Apesar do nome bem trivial, o livro vai visitando várias boas práticas, tudo sendo mostrado com um programinha que é construído em Java, mas serve perfeitamente para um montão de outras linguagens. A única crítica é que havia espaço para muito mais coisas, terminando o livro de repente. Pra quem é chefe vale a pena pra ver bons exemplos, pra quem está começando ver e entender o porquê de boas práticas do mercado. Curti demais e é mais um gol do Aniche!
Profile Image for Iago Saito.
2 reviews1 follower
July 14, 2025
That's a great book!
The examples are clear and didactic. One of the few books that didn’t make me feel tired while I was reading.

Displaying 1 - 3 of 3 reviews

Can't find what you're looking for?

Get help and learn more about the design.