---
layout: pattern
title: Module
folder: module
permalink: /patterns/module/
categories: Structural
language: en
tags:
 - Decoupling
---

## Intent
Module pattern is used to implement the concept of software modules, defined by modular programming, in a programming language with incomplete direct support for the concept.

## Class diagram
![alt text](./etc/module.png "Module")

## Applicability
The Module pattern can be considered a creational pattern and a structural pattern. It manages the creation and organization of other elements, and groups them as the structural pattern does.

An object that applies this pattern can provide the equivalent of a namespace, providing the initialization and finalization process of a static class or a class with static members with cleaner, more concise syntax and semantics.

## Credits

* [Module](https://en.wikipedia.org/wiki/Module_pattern)
