Design Patterns and Neo-Platonism