Wolfram Library Archive

Courseware Demos MathSource Technical Notes
All Collections Articles Books Conference Proceedings
Title Downloads

Object-Oriented Design Patterns with Wolfram Language

Anton Antonov
Organization: Sezmi Corporation

Wolfram Technology Conference 2015
Conference location

Champaign, Illinois USA

In this talk we are going to discuss a particular style of Wolfram Language programming that allows the application of the Object-oriented paradigm (to a point). The approach does not require the use of preliminary implementations (packages or extra code). Using the Object-oriented paradigm is achieved by following a specific programming style and conventions with the standard functional programming constructs of Wolfram Language. Design Patterns are obtained from analysis of successful software products. One can say that the Object-oriented paradigm came to maturity with Design Patterns. Design Patterns help overcome limitations of programming languages, give higher level abstractions for program design, and provide design transformation guidance. Because of extensive documentation and examples, Design Patterns help knowledge transfer and communication between developers. Using Design Patterns we apply the OOP “culture” into Wolfram Language. The proposed Wolfram Language approach of implementing Design Patterns with Object-oriented origin is going to be demonstrated with the programming of the patterns named Template Method, Strategy, Composite, Decorator, Interpreter, Observer, and others. We are going to draw parallels with Object-oriented approaches in other functional programming languages, like CLOS and R. Relations and analogies with some mathematical theories are going to be pointed out. Concrete real life examples are going to be briefly discussed. (Dynamic, NDSolve, NIntegrate, an air pollution model, a recommendation system.)

*Wolfram Technology
Downloads Download Wolfram CDF Player

1445368852.nb (1.1 MB) - Mathematica Notebook