C++ codes for pattern oriented software architecture course by Douglas Schmidt