The Delegate Design Pattern

The delegate design pattern is similar to proxy and is sometimes treated as the same process. However, since InetSoft enterprise products use delegate in a very different fashion, we separate it out for more clarity. A delegate is an object that performs certain functions on behalf of other objects. It can be used to dynamically change the behavior of an object. This property makes it a perfect solution for adaptable Application Program Interface(API). The logging service of InetSoft Enterprise products uses the delegate pattern to allow dynamic redirection of logging messages.
#1 Ranking: Read how InetSoft was rated #1 for user adoption in G2's user survey-based index Read More

Facade Design Pattern

The facade design pattern uses a single class to encapsulate the functionality of multiple children classes. By reducing the number of classes and hiding the intricacy of the inner workings of these classes, it becomes easier to use the overall system. We use the facade design pattern in several classes. The most obvious is the web-based report viewing system.

All DHTML related functionality, including HTML page generation, DHTML widget and action handling, resource loading and replet execution are encapsulated behind one servlet. The internal classes used to support this functionality are hidden from users. This design allows very easy installation and configuration of the Web server. Instead of installing multiple HTML files, images, servlets and JavaScript files, a single servlet handles everything related to DHTML tasks.

Interpreter Design Pattern

The interpreter design pattern models a parsing tree of an expression or programming language. It is an executable representation of the expression. After an interpreter object is built for an expression, the interpreter can be executed to evaluate the expression. The internal hierarchy of the expression is captured in the interpreter object tree.

InetSoft Enterprise products use the interpreter pattern to represent search conditions. Each condition is a combination of comparison or logic expressions. After a search condition object is created, it can be applied to a page to evaluate the page elements to check if the condition is met.

Composite Design Pattern

A composite object is an object that is composed of multiple instances of other objects. All objects share a common composite interface. The common interface allows the user of the objects to treat a composite object in the same way as a single object.

We use the composite pattern in the replet command class. All replet command classes share the same interface. A command object can be a concrete implementation of a command, or can be composed of several other commands.

Command Design Pattern

A command is an object that encapsulates the execution of a command. It often serves as the generic API for adding user-defined actions to an existing system. The InetSoft Enterprise products scheduling service uses the command pattern to allow any user defined actions to be scheduled. With this generic API, the scheduler can be used for scheduling tasks other than report generation.

More Articles About Dashboard Design

Necessity of Real-Time Reporting - Prior to the digital technological era we live in today, companies had ample amount of time to assemble, process, and package business data for executives. Businesses and their competitors moved at a slow steady pace, leaving sufficient time to calculate numbers and analyze reports. Today, with the development of high performance technologies and advanced communication channels, internal and external business affairs are moving faster than ever. Society has reached the point where annual budget cycles and monthly financial reports are no longer...

Temperature Monitoring - Temperature monitoring is the most basic Key Performance Indicator in any dashboard for a heat management system. In many industrial processes, temperature is an important parameter. Even a little departure from the ideal temperature range may result in equipment failure, higher energy costs, and worse product quality. Temperature monitoring KPIs on a heat management solution dashboard usually contain current temperature measurements from several sensors positioned at various systemic points. Because these values are often shown graphically, users may quickly see patterns and abnormalities...

Visual Analysis: Multi-dimensional Charting - Multi-dimensional charting means being able to depict more than just two dimensions on a graph. The standard simple graph charts just two dimension, on the x and y axes. In a two-dimensional chart you can identify basic trends, such as time-based one: is a measure like sales, increasing or decreasing, but you can't see any other dimension that might help explain why. With multi-dimensional charting you can add coloring and sizing options. Coloring means coloring different data points on that two-dimensional chart to denote more information...

Visual Complement to Microsoft SSAS - Visual intelligence might be the most important aspect of powerful BI programs like Microsoft SQL Server Analysis Services. When communicating with a team through data, having a comprehensive utility like Microsoft SQL Server Analysis Services might only be the starting point. When implementing a complementary data visualizer (a dashboard and report generator) with an SaSS database, the result is the catalyzation of incisive decisions made radically fast. That's the advantage of InetSoft's BI software suite, Style Intelligence...

Previous: Reporting Design Patterns