Monolithic design: Difference between revisions

From InfoVis:Wiki
Jump to navigation Jump to search
Anfe (talk | contribs)
No edit summary
 
Anfe (talk | contribs)
No edit summary
Line 1: Line 1:
Generally, a monolithic design is given when a software provides its functionality centralised in one or just a few classes. The level of data abstraction is very low.
Generally, a monolithic design is given when a software provides its functionality centralised in one or just a few classes. Such classes are very powerful and typically easy to apply.


Such a design does not need a complex architecture. Developer will not have troubles to conceive the software as only a few elements must be studied. Further, such an approach typically ensures fast results when applying the software. However, such an approach may lead to unclear or sleazy code as there is no clear separation to other areas of the software. Further, it is hard to manipulate or change existing code, also extensions may be hard to realize.
Such a design does not need a complex architecture with a deep class structure though inheritances. Developer typically will not have troubles to conceive the software as only a few elements must be studied in detail (exept the top-level class is very complex). Further, such an approach typically ensures fast results when applying the software. This is obtained as such implementations typically do not provide excessive functionality, instead, they are specialized on a limited count of features that may be applied easily.  


In visualization, especially if abstract data, visual structures, and rendering routines are not separated a software is called monolithic.
However, in case of providing a lot of functionality such an approach may lead to unclear or sleazy code as there is no clear separation to other areas of the software. Further, it is hard to manipulate or change existing code, also extensions may be hard to realize. So, developers are well advised to implement more flexible code when a certain dimension of functionality is reached.
 
In visualization a software is called monolithic when abstract data, visual structures, and rendering routines are not separated explicity.

Revision as of 10:40, 31 July 2006

Generally, a monolithic design is given when a software provides its functionality centralised in one or just a few classes. Such classes are very powerful and typically easy to apply.

Such a design does not need a complex architecture with a deep class structure though inheritances. Developer typically will not have troubles to conceive the software as only a few elements must be studied in detail (exept the top-level class is very complex). Further, such an approach typically ensures fast results when applying the software. This is obtained as such implementations typically do not provide excessive functionality, instead, they are specialized on a limited count of features that may be applied easily.

However, in case of providing a lot of functionality such an approach may lead to unclear or sleazy code as there is no clear separation to other areas of the software. Further, it is hard to manipulate or change existing code, also extensions may be hard to realize. So, developers are well advised to implement more flexible code when a certain dimension of functionality is reached.

In visualization a software is called monolithic when abstract data, visual structures, and rendering routines are not separated explicity.