Patterns provide a very convenient way to perform a sequence of standard or specific actions upon objects.

For example, a pattern can be used to create a source code stubs for classes. Another pattern can create a class with a set of private attributes, and automatically create public methods for accessing and changing these attributes. Yet another pattern can transform an existing class (classes) to implement some design pattern (for example, Visitor or Observer pattern from GoF "Design patterns" book).

The importance of having patterns is that SCI and RWI APIs are able to create new elements using patterns as actual creators of them. This fact means that it is possible to write a pattern for creating a class of a specific structure and to pass this pattern, for example, to SciPatternManager.createClassByPattern(SciPattern, SciClass) method to get a new class with the desired content.