
Object-oriented design heuristics
by Arthur J. Riel · first published 1996
63% recommend38% neutral
Why HN recommends it
Language-agnostic collection of practical object-oriented design heuristics, with many examples; recommended for engineers who want sound design judgment beyond a single language and still relevant to modern design work.
Summarised by Claude from recommending comments
Object-Oriented Design Heuristics offers insight into object-oriented design improvement. The more than sixty guidelines presented in this book are language-independent and allow you to rate the integrity of a software design. The heuristics are not written as hard and fast rules; they are meant to serve as warning mechanisms which allow the flexibility of ignoring the heuristic as necessary. This tutorial-based approach, born out of the author's extensive experience developing software, teaching thousands of students, and critiquing designs in a variety of domains, allows you to apply the gu
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








How does the Smalltalk book compare to "Object-Oriented Software Construction" by Meyer? The latter is my goto OO book (in combination with "Object Oriented Design Heuristics" by Riel)
on “The Programming Books That Meant The Most To Me” ↗Possibly more abstract than what you are looking for but Object-Oriented Design Heuristics is a decent text. https://www.amazon.com/Object-Oriented-Design-Heuristics-Art...
on “Ask HN: Which books teach mental models?” ↗…Having previous experience with LISP, it just seemed obvious, barely worth mentioning. Definitely set me apart from my colleagues. FWIW: Our local design pattern study group tackled Arthur J. Riel's Object-Oriented Design Heuristics [1996] https://archive.org/details/objectorientedde0000riel https://www.amazon.com/Object-Oriented-Design-Heuristics-Art... Which might be the earliest published pushback against all that overwrought…
on “Strings Just Got Faster” ↗…it's not baked into the language, why bother? I've been using NullObject since (checking...) 1996. This is The Correct Answer. http://c2.com/cgi/wiki?NullObject I first read about NullObject here: Object-Oriented Design Heuristics http://amzn.to/1ND1YSU What'd be really neat is some mojo to remove the boilerplate of implementing NullObjects.
on “Deprecating: java.util.Optional.get()?” ↗Object-Oriented Design Heuristics: http://amzn.to/hMfVA6 This is a fantastic book on OOP design principals and has lots of language-agnostic examples.
on “ Ask HN: What are some good books for understanding OOP? ” ↗In addition to 'A philosophy of Software Design', I would also recommend the less well known 'Object-Oriented Design Heuristics'. It came out at the same time as the GoF book, but I think it is still relevant today and similar in spirit to Ousterhout's book.
on “A Philosophy of Software Design” ↗Yes, Object-oriented design heuristics by Arthur J. Riel https://www.goodreads.com/book/show/179206.Object_Oriented_D...
on “Object-Oriented Design Heuristics (2017) [slides]” ↗(submitter) The material in the slides is based on the book Object-Oriented Design Heuristics[0] by Arthur Riel. [1] has a list of the heuristics. It may be incomplete. [0] https://www.goodreads.com/book/show/179206.Object_Oriented_D... [1] http://www.vincehuston.org/ood/oo_design_heuristics.html
on “Object-Oriented Design Heuristics (2017) [slides]” ↗Yes and: I vaguely recall Riel's Object-Oriented Design Heuristics [1996] shared the same advice. https://www.amazon.com/Object-Oriented-Design-Heuristics-Art... https://www.oreilly.com/library/view/object-oriented-design-... Aside: Young me obsessed over design patterns,…
on “If Inheritance is so bad, why does everyone use it?” ↗The book you're talking about is it the one mentioned (i quickly looked at the slides): Object Oriented Design Heuristics?
on “Object-Oriented Design Heuristics (2017) [slides]” ↗