Object Oriented as a software method
In relationship to other development methods
Why it’s so popular
The difference
Exercise
Presenting the solution
A closer look at objects
From objects to classes
Abstraction
What is a class
Modeling
UML diagrams
Fundamental terms and ideas
Relationships
Constructors and destructor
The problem domain
4+1 development view
Major Principles
A closer look
Connection object
Inheritance to define objects?
DB tables and objects
CRC definition
CRC method
CRC workshop session
Identifying classes
Class design principles
Using nouns and verbs
Consistency and concept
Considerations in choosing classes
Principle of selfishness
Consistency
Cohesion
Responsibility
Open-closed
Liskov substitution
Interface segregation
Granularity and packaging
Overview
Creational Patterns
Structural Patterns
Behavioral Patterns
Information expert
Creator
High cohesion
Low coupling
Controller
Polymorphism
Pure fabrication
Indirection
Don’t talk to strangers
Redesign the first exercise
Discussion
Summary
Q&A
Evaluation