Especialistas, em cada projeto de software, adquirem experiência e conhecimento que
naturalmente são empregados em novos projetos. Para casos onde boas soluções são
encontradas, testadas e aplicadas, existem grandes chances de serem novamente
empregadas com sucesso em contextos semelhantes. Um software pattern descreve
de forma padronizada um problema recorrente e apresenta um esquema para a sua
solução, tornando possÃvel a reutilização da experiência adquirida na resolução do
problema. Este artigo trata dos fundamentos em torno de software patterns,
apresentando seus tipos e a forma de descrevê-los.
Specialists, in each project of software, acquire experience and knowledge that
eventually are used in new projects. In the cases where good solutions are found,
tested and applied, there are great possibilities for these methodologies are employed
successfully in similar contexts. A software pattern describes in a standardized way a
recurrent problem and presents a outline for its solution, making possible the reuse of
the experience acquired in the solution of the problem. This article deals with the
foundation of software patterns presenting its types and description.