design pattern url