Design patterns for various languages