Monteiro, MiguelPereira, Guilherme Valente2025-12-192025-12-192025-06http://hdl.handle.net/10362/191944Python continues to increase in popularity consistently evidenced by its position at the top of the TIOBE Index, highlighting its significant role in the programming world. Despite its widespread use, existing books and resources focusing on implementing design patterns in Python, tend to overlook the language’s advanced mechanisms and there remains a notable gap of scientific studies regarding Python’s support for modularity and advanced module composition. This thesis aims to explore these under-researched mechanisms and how they can enhance the implementation of design patterns. By examining these mechanisms, it seeks to demonstrate how they can improve the modularity, reusability, module composition and provide insights that could influence best practices and contribute to the further development of Python in software engineering. As the thesis progressed, the patterns were grouped into three categories: those with direct support from the language, those enhanced by advanced mechanisms, and those where no improvement was observed.Python continua a aumentar em popularidade, evidenciado consistentemente pela sua posição no topo do Índice TIOBE, destacando o seu papel significativo no mundo da programação. Apesar de ser utilizado em múltiplos projetos e áreas differentes, os livros e recursos existentes que se concentram na implementação de padrões de design em Python tendem a ignorar os mecanismos avançados da linguagem e ainda existe uma lacuna notável de estudos académicos sobre as capacidades do Python para modularidade e composição avançada. Esta tese tem como objetivo explorar estes mecanismos pouco explorados e como podem melhorar a implementação de padrões de design. Ao examinar esses mecanismos, procura demonstrar como podem melhorar a modularidade, reutilização, composição de módulos e fornecer conhecimentos que podem influenciar as melhores práticas e contribuir para o desenvolvimento futuro do Python na engenharia de software. À medida que a tese foi avançando, os padrões foram agrupados em três grupos: os que têm suporte direto da linguagem, os que foram melhorados por mecanismos avançados e os que não apresentaram melhorias.engPythonObject-Oriented ProgrammingModule compositionAdvanced Composition MechanismsDesign PatternsAssessment of Python Advanced Composition Mechanisms Based on Design Patternsmaster thesis