If you want an academic understanding of object-oriented design, this book will give it to you. For in-depth understanding of object oriented design you still have to start fully mastering the object-oriented aspects of a programming language such as Java or C++. When I read the book, the unified modeling language was not yet in existence, so the book's take on OO diagrams was helpful. Most of the material has not been outdated by later developments, so in that sense it's fairly strong.