Monteiro, MiguelBrito, Jaime Silva Vicente2026-02-052026-02-052025-06-09http://hdl.handle.net/10362/200030In the past, several studies have been conducted that analyzed the modularity support of object-oriented languages. However, few studies have focused on JavaScript’s support for modularity and module composition based on design patterns. JavaScript has some advanced features that are not available in many object-oriented languages and are not used in the traditional implementation of these patterns, as we have found documented in several books on JavaScript implementations of Gang-of-Four patterns. To the best of our knowledge, no study has used these advanced JavaScript features to improve the traditional approach to implementing design patterns and analyze JavaScript’s modularity support. This thesis aims to fill this gap by evaluating JavaScript’s support for modularity based on modularity properties. The results show that some patterns benefit significantly from JavaScript’s advanced features, while others remain structurally unchanged or gain little.No passado, foram realizados vários estudos que analisaram o suporte à modularidade em linguagens orientadas a objetos. No entanto, poucos se focaram no suporte da linguagem JavaScript à modularidade e à composição de módulos com base em padrões de design. O JavaScript possui funcionalidades avançadas que não estão disponíveis em muitas linguagens orientadas a objetos e que não são utilizadas nas implementações tradicionais destes padrões, como foi identificado em diversos livros sobre implementações dos padrões Gang-of-Four em JavaScript. Tanto quanto sabemos, nenhum estudo utilizou essas funcionalidades avançadas do JavaScript para melhorar a abordagem tradicional de implementação dos padrões de design e analisar o seu impacto no suporte à modularidade. Esta dissertação pretende preencher essa lacuna, avaliando o suporte do JavaScript à modularidade com base em propriedades de modularidade. Os resultados demonstram que alguns padrões beneficiam significativamente das funcionalidades avançadas do JavaScript, enquanto outros permanecem estruturalmente inalterados ou apresentam melhorias reduzidas.engJavaScriptObject-Oriented programmingModule CompositionModularityGang-of-Four Design PatternsSeparation of concernsAssessment of JavaScript’s advanced composition mechanisms based on design patternsmaster thesis