What software design pattern does Joomla use?

What software design pattern does Joomla use?

MVC
Joomla is written in PHP and based on MVC (Model-View-Controller) design pattern. It uses MySQL (MS SQL version 2.5 or above, and PostgreSQL version 3.0 or above) to store data.

What are design patterns and what are they used for?

Design patterns provide general solutions, documented in a format that doesn’t require specifics tied to a particular problem. In addition, patterns allow developers to communicate using well-known, well understood names for software interactions.

Where does the data for a Joomla model come from?

The model encapsulates the data used by the component. In most cases this data will come from a database, either the Joomla database, or some external database, but it is also possible for the model to obtain data from other sources, such as via a web services API running on another server.

How does Joomla follow the Redirect / get pattern?

Joomla follows the Post/Redirect/Get pattern, which means that when a user submits a form in an HTTP POST, then rather than Joomla responding to the POST with an HTML page it redirects to another page which the browser will access with an HTTP GET.

What are the advantages of following Joomla MVC pattern?

However, an advantage of following the Joomla MVC pattern is that you can make full use the Joomla library MVC classes, which greatly reduces the amount of code you need to write. The main role of the entry point PHP file (example.php for com_example) is to determine which controller to run.

When does Joomla start to process a request?

When Joomla is started to process a request from a user, such as a GET for a particular page, or a POST containing form data, one of the first things that Joomla does is to analyse the URL to determine which component will be responsible for processing the request, and hand control over to that component.