ضد الگوها، الگوهای خاصی در توسعه نرم افزار هستند که شیوههای برنامهنویسی بد در نظر گرفته می شوند.
برخلاف الگوهای طراحی که رویکردهای رایج برای مشکلات رایج هستند که رسمیت یافته و عموماً به عنوان یک روش توسعه خوب در نظر گرفته میشوند، ضد الگوها برعکس هستند و نامطلوب به شمار میروند.
به عنوان مثال، در برنامه نویسی شیگرا، ایده این است که نرم افزار را به قطعات کوچکی به نام شیها جدا کنیم. یک ضد الگو در برنامه نویسی شیگرا یک شی کلی و بزرگ است که دارای عملکردهای زیادی است که بهتر است به اشیاء مختلف تفکیک شود. Anti Pattern ممکن است نتیجه عدم آگاهی یک مدیر یا توسعه دهنده، نداشتن دانش یا تجربه کافی در حل یک نوع مشکل یا استفاده از یک الگوی کاملاً خوب در زمینه اشتباه باشد.
یکی از اهداف کلیدی توسعه Anti Pattern ها، توصیف روشهای صحیح بازبینی (refactor) نرمافزار هست.
به بیان دیگر، Anti Pattern ها تجربه دنیای واقعی را در تشخیص مشکلات تکرار شونده در صنعت نرم افزار فراهم می کنند و یک راهحل دقیق برای رایج ترین مشکلات ارائه می دهند.