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.

    ../_images/fig_02.png

To separate the rendering and interactions modules, Broh5 uses class inheritance, which is a very powerful tool for developing complex applications.