Object-oriented programming (OOP) is one of the most popular and influential paradigms in software development. However, many programmers struggle to apply OOP principles effectively and end up with code that is complex, rigid, and hard to maintain. What if there was a way to improve your OOP skills by changing your mindset rather than your tools and techniques?
In this article, we will introduce you to Microsoft Object Thinking, a book by David West that explores the history, philosophy, and politics of OOP and reveals how the best programmers rely on analysis and conceptualization - on thinking - rather than formal process and methods. We will also show you how you can watch a webcast by fatalis kahu, a renowned OOP expert and trainer, who will demonstrate how to apply Microsoft Object Thinking to real-world problems.
Microsoft Object Thinking is a book published by Microsoft Press in 2004 as part of the Developer Reference series. The author, David West, is an esteemed object technologist who has been involved in OOP since its inception. He has worked as a consultant, educator, researcher, and writer on various aspects of OOP.
The book is divided into three parts: Part I covers the prerequisites and principles of object thinking; Part II covers the object knowledge implicit in eXtreme Programming (XP) and Agile software development; and Part III covers the object conceptualization and modeling techniques that enable true object design.
The book's main premise is that the mindset makes the programmer - not the tools and techniques. West argues that many programmers have been misled by the data-centric and procedural approaches that dominated software development before OOP. He claims that these approaches are incompatible with OOP and prevent programmers from fully exploiting its benefits.
West proposes that programmers should adopt an object thinking mindset, which involves seeing the world as a collection of autonomous objects that collaborate to achieve goals. He suggests that programmers should use metaphors, vocabulary, and design patterns that reflect this view of reality. He also advocates for a more agile and iterative approach to software development that embraces change and feedback.
Microsoft Object Thinking is not a typical programming book that teaches you how to use a specific language or framework. It is a book that challenges you to rethink your assumptions and habits about OOP and software development in general. It is a book that exposes you to the ideas and insights of some of the most influential thinkers and practitioners in the field of OOP.
By reading Microsoft Object Thinking, you will gain an in-depth understanding of:
By applying Microsoft Object Thinking to your own projects, you will be able to: