A functional pattern system for object-oriented design
Authors
Parameters
More about the book
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.
Book purchase
A functional pattern system for object-oriented design, Thomas Kühne
- Language
- Released
- 1999
Payment methods
- Title
- A functional pattern system for object-oriented design
- Language
- English
- Authors
- Thomas Kühne
- Publisher
- Kovač
- Released
- 1999
- ISBN10
- 3860647709
- ISBN13
- 9783860647707
- Series
- Schriftenreihe Forschungsergebnisse zur Informatik
- Category
- Computers, IT, Programming
- Description
- 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.