tasarım desenlerinin yaratım örüntüleri türünde bir yöntem. subclassları uygulamadan soyutlayarak soyut bir class ile programı yönetmek. ana class ne halt döndüğünü bilmez bu şekilde. belirli bir interface den çok sayıda class implement edileceği zaman çok büyük kolaylık sağlar.