Object Oriented Design and Principles
Object Oriented Programming
- Comparing C++ and C (Classes and Methods) C++ classes and methods are mapped to equivalent C code.
- Comparing C++ and C (Inheritance and Virtual Functions) This article maps from C++ code containing inheritance and virtual functions to equivalent C code.
- Object Oriented Programming in C Many embedded platforms do not support C++. Here we describe techniques for object oriented programming in C.
- Object Oriented Design Tips Assortment of tips on object oriented design in embedded systems.
- Object Oriented Design Tips II More tips on object oriented design in embedded systems.
- C++ Standard Template Library Tutorial Videos STL tutorial videos from Microsoft Channel 9.
- Advanced Standard Template Library Tutorial Videos STL tutorial videos from Microsoft Channel 9.
- Unit Testing Tutorial Videos Videos describing techniques for making the code unit testable. Test driven development is also covered.
Object Oriented Principles
- Open Closed Principle Object oriented modules should be open for extension but closed for change.
- Liskov Substitution Principle In class hierarchies, it should be possible to treat a specialized object as if it were a base class object.
- Design by Contract in C++ The Eiffel programming language introduced design by contract. The main idea here is to model interfaces between classes as contracts.
- Dependency Inversion Principle High level modules should not depend upon low level modules. Both should depend upon abstractions.
