skip to content
Mithat Konar (the wiki)
You are here:
Mithat Konar (the wiki)
General programming concepts
UX for software engineers
Table of Contents
came about to support
object-oriented analysis and design
OOAD created to solve issues involved in designing and managing large applications.
What needs to happen?
Focus on creating a set of functions to do the things that need to get done.
What are the components (objects) that make up the problem?
How do they behave?
How do the components interact?
Possible to implement OOAD in any language.
Much easier and more robust when language has support for defining and using objects: an
The concept of “object” in computing comes directly from the concept of “object” in the real world.
encapsulation and protection
Let’s explore this with the example of a microwave oven.
At any given instant, a microwave oven has a particular
Is it cooking?
At what power level?
How much cooking time is left?
What time does it think it is?
These attributes (and others) collectively define the oven’s state.
A microwave also has predefined
Push the “1” button → start cooking at maximum power for one minute.
Push the “+30 sec” button → add 30 seconds to the cooking time if it’s already cooking or start cooking for 30 seconds at maximum power.
Push a magical combination of buttons → set the internal clock.
These operations (and others) collectively define the oven’s behavior.
: the public-facing behavior (i.e., the operations a user can engage).
User changes the state of the oven only by engaging one or more of the operations in the oven’s interface.
Don’t need to know how a magnetron, the clock’s electronics, or anything else works to use the oven.
Only need to know what changes in state to expect from the “cook 1 minute” or “add 30 seconds” operations.
“I don’t care about how it works—I only need to know what it does,” is part of
Oven internals are protected against unwanted fiddling by screws and scary labels—for a reason.
“No user serviceable parts inside.”
: keeping the user out of stuff that the user should not be allowed to access.
The microwave oven takes responsibility for managing its own state using a set of predetermined behaviors: it’s
: a language that let you create self-governing entities.
Self-governing entities are called
: a program entity that encapsulates state (via attributes) and behavior (via operations involving those attributes) for some meaningful abstraction.
My Farberware 4241 microwave.
All Farberware 4241s made from a master plan.
Defines what the Farberware 4241
In computing terminology, the master plan is a
A class contains all the specifications needed to make a particular kind of object.
Objects that have been created from classes are also called
The process of creating an instance from a class definition is called
Currently less common than class-based OOP.
· Last modified: 2020/09/14 01:14 by
Back to top