2. Software structure
As a GUI software, broh5 is designed based on the Model-View-Controller (MVC) design pattern which is a widely used architectural paradigm in GUI development. It separates an application into three interconnected components; improving modularity, scalability, and maintainability. However, the traditional MVC terminology may be non-intuitive for general users, Broh5 adapts these concepts with more user-friendly naming:
Rendering module: This is only responsible for constructing and rendering GUI components.
Utilities module: Operating independently, this module provides utility methods for data handling, representation, and preparation.
Interactions module: This acts as a bridge, linking user interactions with GUI responses.
To separate the rendering and interactions modules, Broh5 uses class inheritance, which is a very powerful tool for developing complex applications.