Kilka razy spotkałem się z opinią, że wzorce projektowe są pewnym uzupełnieniem języków programowania, ponieważ realizują zadania, które powinny być dostępne out of the box. Trudno polemizować z takim stwierdzeniem w przypadku singletona czy factory method, ale istnieje spora grupa wzorców projektowych, które trudno byłoby po prostu zaimplementować bezpośrednio w języku.