کتابی که بهترین توضیحات برای استفاده از پترن ها و ساختار های طراحی در برنامه نویسی C++ دارد کدام است؟