End users typically approach a computer with a model of an algorithm whereby a network of objects work together to achieve some goal, and object-oriented programming strives to match those mental models.
Its benefits include providing a good match between software solutions and business needs, and ease of programming that is structured around business understanding. Much of what programmers call object-oriented today in fact is altogether something else: Abstract Data Types, each of which should be separately considered as an encapsulated grouping of data and low-level operations.
This mismatch harms software useability and has dramatic software engineering drawbacks. The Data, Context and Interaction (DCI) restores object-oriented thinking to the design and programming world. This tutorial will help you deeply understand object-oriented thinking and learn what it takes to implement it in a modern architecture.
Course contents
Agenda
• Overview: A Parade of Paradigms • The Domain Model: Classes • The Object Paradigm: Mental Models • The Problem • More Problems: ADT Thinking • Preparing for Design: Use Cases and CRC Cards • The DCI Design Paradigm • Implementing DCI
Target audience and prerequisites
This workshop is for developers, architects, technical leads, technical managers.