اصول طراحی شیءگرا و کیفیت کد در زبان‌های پویا