Quais padrões de projeto são essenciais em seus projetos?

Queria saber quais os padrões de projetos são importantes nos projetos de vocês e porque?

  • Repository, para retornar o resultado de minhas queries do banco.
  • Façade (Utilizo com Service Layer)
  • Specification Pattern para isolar minhas validações
  • Singleton (Para gerenciar conexões com a database)

Acho que é isso :smile:

Na maoria dos projetos que trabalho, a cenários onde esses padrões solucionam bem o problema:

  • Builder;
  • Strategy;
  • State;
  • Notification (Acredito que este não seja um padrão, mas sim um forma de design.)

Um padrão que gosto muito e uso com frequência é o proxy (ou decorator) quando preciso adicionar alguma característica não-funcional em um conjunto de classes.

Uma coisa importante é não ficar preso cegamente sempre aos mesmos padrões e buscar sempre o padrão mais adequado para cada situação!