Detail description and samples about design patterns, including Java & C++ version.