A Functional Pattern System for Object-Oriented Design

Download free course A Functional Pattern System for Object-Oriented Design, pdf file on 346 pages by by Thomas Ku?hne.

This book integrates the vital areas of object-orientation, functional programming, design patterns, and language design. The most important concepts from functional programming are captured with six design patterns: FUNCTION OBJECTS (Black-box behaviour parameterisation) LAZY OBJECTS (Evaluation-by-need semantics) VALUE OBJECTS (Immutable values) VOID OBJECTS (Abandoning null references) TRANSFOLD (Combining internal & external iteration) TRANSLATOR (Homomorphic mapping with generic functions). These patterns can be used with any object-oriented language to advance software design. The patterns form a system, i.e., a collaborating set of patterns.

In their "Related Patterns" sections the patterns refer to each other and to many other published design patterns. Each of the relevant areas (object-orientation, functional programming, design patterns) is introduced in the first part of the book. This part also compares the functional and object-oriented paradigms both in terms of concepts and on a calculus level. The second part presents the functional pattern system. This system should be beneficial to software practitioners since it integrates the functional paradigm into object-oriented software design. Hence, advantages which have been primarily available in functional languages can be used in object-oriented languages as well. Even when some functional concepts have been partially established in object-oriented software already, they can now be understood as specialised uses of more general function patterns. This practical aspect is complemented by a theoretical account of multi-paradigm language design. An evaluation of the pattern system for its implications on language design in the third part is concluded by proposing a new distribution of responsibilities between languages and their environments.

The book uses the Eiffel programming language to illustrate the patterns with running sample code. It includes a critical review of the Eiffel language in terms of its suitability as a functional pattern implementation language.


Table of contents

  • Foundation
  • Functional programming
  • Object-orientation
  • Calculus comparison
  • Conflict & Cohabitance
  • Design Patterns
  • Pattern System
  • Catalog
  • Function Object
  • Lazy Object
  • Value Object
  • Transfold
  • Void Value
  • Translator
  • Collaboration
  • Language design
  • Pattern Driven Language Design
Pages : 346
Size : 2.2 MB
File type : PDF
Downloads: 55
Created: 2022-02-01
License: Open Publication License
Author(s): by Thomas Ku?hne
A Functional Pattern System for Object-Oriented Design

Others Object-Oriented Design Tutorials

Others related eBooks about A Functional Pattern System for Object-Oriented Design

Cyber-Physical Systems: A Model-Based Approach

Download free course Cyber-Physical Systems: A Model-Based Approach, pdf file on 205 pages by Walid M. Taha, Abd-Elhamid M. Taha, Johan Thunberg....

Game Design Research

Download free course Game Design Research, pdf file on 230 pages by Petri Lankoski, Jussi Holopainen....

UML 2.0 tutorial

Free training document for beginners about UML ,a PDF tutorial for downloading to learn the basics of UML conception ,courses file under 106 by Ileana Ober....

UML analysis and design

UMLTutorial in PDF ,free training document it's an overview of analysis and design using UML ,courses file under 120 pages designated to intermediat-level users....

Foundations of Multi-Paradigm Modelling for Cyber-Physical Systems

Download free course Foundations of Multi-Paradigm Modelling for Cyber-Physical Systems, pdf file on 298 pages by Paulo Carreira, Vasco Amaral, Hans Vangheluwe....

Regression Models for Data Science in R

Download free course Regression Models for Data Science in R, pdf file on 144 pages by Brian Caffo....

Introduction to the Unified Modeling Language

This pdf tutorial aims to teach you all the notions of the UML language so that you can easily model your data and processes with the standard UML 2.0....

UML for Java Developers

This tutorial is designated to teach the relationship between UML and Java languages to developers in order to make them easily understand the basics of analysis and computer designing,a free training document under 16 pages for download....

The Basics of User Experience Design

Download free course The Basics of User Experience Design, pdf file on 73 pages by Mads Soegaard....

The Data Science Design Manual

Download free course The Data Science Design Manual, pdf file on 456 pages by Steven S. Skiena....