Polylithic 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 polylithic design is given when a software provides a high level of data abstraction. The result is a large count of separated classes which are consolidated through several programming techniques like inheritance or generic concepts.  
Generally, a polylithic design is given when a software provides a high count of different classes. Each class provides only a few functionality. These separated classes which are consolidated through several programming techniques like inheritance or generic concepts.  


A lot of separations allow developers to change or manipulate existing functionality selectively. Furthermore, a high data abstraction forces developer to implement well thought components which may also work correct when other components have changed. Typically, this results a clear and elaborate architecture. But, the large count of objects may also lead to not considered mistakes and makes it harder to understand the software.  
A lot of separations allow developers to change or manipulate existing functionality selectively. Furthermore, a high abstraction of objects forces developer to implement well thought components which may also work correct when other components have changed. Typically, this results a clear, flexible, and elaborate architecture. Further, to code of single classes is less complex.
 
Nevertheless, the large count of objects may also lead to not considered mistakes and makes it harder to understand the software. Further, the separation between objects can exceed a normal dimension. In case of too many classes developers will have problems in conceiving the whole architecture. Especially generic concepts (e.g., reflection) must applied very carefully as external developers often have no insight in such concepts.  


In visualization, especially the separation between abstract data, visual structures, and rendering routines is defined as polylithic design.
In visualization, especially the separation between abstract data, visual structures, and rendering routines is defined as polylithic design.

Revision as of 10:49, 31 July 2006

Generally, a polylithic design is given when a software provides a high count of different classes. Each class provides only a few functionality. These separated classes which are consolidated through several programming techniques like inheritance or generic concepts.

A lot of separations allow developers to change or manipulate existing functionality selectively. Furthermore, a high abstraction of objects forces developer to implement well thought components which may also work correct when other components have changed. Typically, this results a clear, flexible, and elaborate architecture. Further, to code of single classes is less complex.

Nevertheless, the large count of objects may also lead to not considered mistakes and makes it harder to understand the software. Further, the separation between objects can exceed a normal dimension. In case of too many classes developers will have problems in conceiving the whole architecture. Especially generic concepts (e.g., reflection) must applied very carefully as external developers often have no insight in such concepts.

In visualization, especially the separation between abstract data, visual structures, and rendering routines is defined as polylithic design.