Pergunta de entrevista da empresa Bentley Systems

What are the key factors in designing user interface? What are the factory method, command, prototype, interpreter, singleton, iterator, etc. design patterns?