CSE687 - Object Oriented Design
Lecture #12 - Dependency Inversion Principle
Revised: 27 February 2008
Web Resources:
Stroustrup's Home Page,
Assoc. of C/C++ Users,
C++ at Microsoft,
Code Project,
Sells Brothers,
Guru of the Week,
C/C++ User's Journal,
devCentral,
Dr. Dobb's Journal,
Boost Library,
techNetCast
Content:
This lecture covers Interfaces, Object Factories, and the Dependency Inversion Principle.
-
Syllabus
Describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
-
Project #2
Graph data type and Graph algorithms.
-
XMLParsing or XMLTran
Two modules that do basic XML handling - building XML strings and pulling them apart. They do not understand
XML namespaces or schemas. Either on will work for Project #2.
-
Project #2 Help
-
The Dependency Inversion Principle
Components should depend on abstractions, not other components.
-
Run-Time Type Indentification Presentation
RTTI is, perhaps, the antithesis of the Open/Closed Principle. Paradoxically, I used it building the trace class.
-
Exceptions
-
Exception demo
-
Enforcements
-
Design Presentation
Summarizes design issues for modules and classes.
-
Design Rules
Design rules and idioms that transcend Object Oriented Design.
-
Lecture #12 folder
Contains a page of links to
presentations and code discussed in this class. The Lecture folders will occasionally
hold physical files of interest as well. Usually, however, all the materials
of interest to the class are in the presentations
and code folders. The contents of these folders will grow
as you progress through the course.