Book Review:
Book 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. The first part of the book introduces each of the relevant areas (object-orientation, functional programming, design patterns). 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. In the third part, an evaluation of the pattern system for its implications on language design 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.
add to del.icio.us
Digg Freebookzone.com!
You may use anyone of the download options
Missing Link?, Report It and try these 2 + 1 alternates...

Similar Book titles in Other Programming section: Ada 95: The Craft of Object-Oriented Programming Building Expert Systems in Prolog Seamless Object-Oriented Software Architecture: Analysis and Design of Reliable Systems Type Systems for Programming Languages Introduction to Functional Programming The Implementation of Functional Programming Languages Building Skills in Object-Oriented Design
Similar Book titles in Other sections:
Section: Bio-Chemistry Systems Biology in Practice Systems Biology: Properties of Reconstructed Networks
Section: CS -> Compilers and Languages The Gentle Compiler Construction System Functional Programming and Parallel Graph Rewriting Advanced Programming Language Design Implementing Functional Languages: A Tutorial Advanced Programming Language Features for Executable Design Patterns -Better Patterns Through Reflection Show all..
Section: Data Structures and Algorithms Data Structures and Algorithm with Object-Oriented Design Patterns in Java Data Structure and Algorithm with Object-Oriented Design Patterns in Cpp Data Structure and Algorithm with Object-Oriented Design Patterns in CSharp Algorithm Design - Foundations, Analysis & Internet Examples Design and Analysis of Computer Algorithms Show all..
Section: Multimedia & Game Development Macromedia Flash MX Game Design Demystified Advanced Flash Interface Design
Section: CS -> Hardware Designing Computers and Digital Systems
Section: Parallel Computing Handbook of Applied Expert Systems Designing and Building Parallel Programs
Section: CS -> Theory Type Theory and Functional Programming Computer Organization and Design Fundamentals Implementing CIFS: The Common Internet File System Quantitative System Performance - Computer System Analysis Using Queueing Network Models Capability-Based Computer Systems Show all..
Section: DB -> Datawarehousing Database Systems: Concepts, Languages and Architectures
Section: DB -> Oracle Database Systems: The Complete Book Oracle8 Distributed Database Systems Release 8.0 Oracle8 Black Book: The Oracle Professional's Guide to Implementing the Object-Oriented Features of Oracle8
Section: DB -> Others The Object-Oriented Database System Manifesto Object-Oriented Database Management Systems Revisited Relational Database Design - Structures and Terminology Database System Concepts, Fifth Edition Relational Database Index Design and the Optimizers Show all..
Section: Computer Hardware Hardware Design Guide for Microsoft Windows NT Server Hardware Design Guide for Microsoft Windows 2000 Server
Section: Device Drivers An I/O Device Driver Model and Framework for Embedded Systems Device Driver Hardening Design Specification The Mobius Operating System: Documentation: Device Driver Book Windows MultiMedia System Book
Section: Logic Design and Architecture Computer Aids for VLSI Design, Second Edition A primer on noise in VLSI systems Bit-Slice Design: Controllers and ALUs Contemporary Logic Design DESIGN AND ANALYSIS OF FAST LOW POWER SRAMs Show all..
Section: Microprocessor DSC Dual Processor System Controller User's Manual IA-32 Intel Architecture Software Developer's Manual Volume 3: System Programming Guide Low Power System Design Considerations Embedded Internet for Embedded Systems Professionals Mixed-signal and DSP Design Techniques Show all..
Section: Peripherals EISA System Architecture Second Edition PCI Audio Design Guide for Embedded Systems Plug and Play Design Specification for IEEE 1394
Section: Advanced Java Java Au Naturel - Guide to Object Oriented Design, 4th Edition Java Thin Client Systems with VisualAge Generator Principles of Object-Oriented Programming in Java Thinking in Patterns with Java Java Design Pattern: A Tutorial Show all..
Section: Java Enterprise Edition Designing Enterprise Applications with J2EE EJB Design Patterns: Advanced Patterns, Processes, and Idioms Designing Enterprise Applications with the J2EE Platform
Section: Java User Interface Java Look and Feel Design Guidelines: Advanced Topics
Section: Java Language The Design Patterns: Java Companion Java Look and Feel Design Guidelines, Second Edition
Section: Mathematics Templates for the Solution of Linear Systems: Building Blocks for the Iterative Methods Implementing Mathematics with The Nuprl Proof System Mathematics for Algorithm and Systems Analysis Unsolved Problems in Mathematical Systems and Control Theory Strange Attractors: Creating Patterns in Chaos Show all..
Section: Miscellaneous The Art of Computer Game Design Probabilistic Design Design and Architecture of a Portable and Extensible Multiplayer 3D Game Engine Systematic Software Development Using VDM, 2nd Edition Universal Command Guide for Operating Systems Show all..
Section: Microsoft Certifications MCSE Training Guide - Active Directory Design - Exam 70-219 MCSE Training - 70-221 - Networking Infrastructure Design (New Riders)
Section: Microsoft C Sharp (C#) Data Structures and Algorithms with Object-Oriented Design Patterns in C#
Section: Microsoft .(dot) net Application Architecture for .NET: Designing Applications and Services
Section: Microsoft Windows Servers Microsoft Systems Management Server 2.0 Training Kit Special Edition Using Microsoft Commercial Internet System Designing & Implementing Microsoft Proxy Server Designing & Implementing Microsoft Index Server Designing and Implementing Microsoft Internet Information Server Show all..
Section: Microsoft Visual Basic Visual Basic Design Patterns Microsoft Visual Basic Design Patterns
Section: MS Web Technologies Designing Secure Web Based Applications For Microsoft Windows 2000
Section: Windows Development Windows NT File System Internals: A Developers Guide
Section: Networking Introduction to Computer, Internet & Network Systems Security Simulation of Communication Systems Open Distributed Systems Internetworking Design Guide Cisco CCIE Fundamentals: Network Design Show all..
Section: Other Engineering Modern Antenna Design 2nd Edition Design for Construction Marine Structural Design Structural Engineering, Analysis and Design
Section: GNU/Linux OS Security in Open Systems Debian GNU/Linux System Administrator's Manual Linux System Administrator's Survival Guide CVS --Concurrent Versions System Get Acquainted with Linux Security and Optimization System Show all..
Section: Embedded and RTOS Building Embedded Linux Systems Real-time Systems Specification, Verification and Analysis Programming Embedded Systems in C and C++ Embedded Systems Dictionary Embedded System Design: A Unified Hardware/Software Approach Show all..
Section: Solaris OS Intermediate System Administration for the Solaris 9 Operating Environment SA-239 Student Guide
Section: OS Theory Creating Your Own Operating System Operating System Tutorials The Common Man's Guide to Operating System Design Programming the Be Operating System Operating Systems: Internals and Design Principles, Fourth Edition Show all..
Section: Unix OS Nextstep Programming: Step One : Object-Oriented Applications/Book and Disk UNIX Unleashed, System Admin's Edition Unix System Administration Unix System Administration - Survival Course SCO Operating System User's Guide Show all..
Section: Assembly Language Windows Assembly Language & Systems Programming: 16- And 32-Bit Low-Level Programming for the PC and Windows Linux System Calls for Assembly Language Programmers
Section: C Language Object-Oriented Programming with ANSI C Programming in C, UNIX System Calls and Subroutines Using C Object-Oriented Programming And The Objective-C Language
Section: C++ Language Data Structures and Algorithms with Object-Oriented Design Patterns in C++ Introduction to Object-Oriented Programming Using C++ Software Design Using C++ C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks C++ Network Programming, Vol. 1: Mastering Complexity with ACE and Patterns Show all..
Section: Perl Scripting Learning Perl on Win32 Systems Perl for System Administration : Managing multi-platform environments with Perl Perl Design Patterns
Section: Scripting Thinking in Python: Design Patterns and Problem-Solving Techniques
Section: Smalltalk Smalltalk, Objects, and Design Squeak: Object-Oriented Design with Multimedia Applications
Section: Redbooks Draft The IBM System Storage N Series Patterns: Building Serial and Parallel Processes with WebSphere Process Server V6 IBM System p5 Approaches to 24x7 Availability Using DCSS/XIP with Oracle 10g on Linux for System z System i Application Modernization: Building a New Interface to Your Legacy Applications Show all..
Section: Redbooks IBM AIX 5L Reference for HP-UX System Administrators Certification Study Guide - pSeries AIX System Administration Certification Study Guide - pSeries AIX System Support Advanced POWER Virtualization on IBM System p5 IBM eServer i5, iSeries, and AS/400e System Builder IBM i5/OS Version 5 Release 3 - October 2005 Show all..
Section: IBM Technotes Best Practices for OnDemand Application Design and Configuration How VSS Works with Tivoli Storage Manager for Copy Server and IBM System Storage Hardware CommonStore Solution Deployment Consideration: Initial Offload and Large System Deployment Migrating from Hierarchical File Systems to zSeries File Systems
Section: Redpapers IBM System p5 510 and 510Q Technical Overview and Introduction Amsterdam Density Functional (ADF) Benchmarking on IBM Platforms PCI and PCI-X Placement Rules for IBM System i5, eServer i5, and iSeries servers with i5/OS V5R4 and V5R3 IBM System p5 185 Technical Overview and Introduction Introducing N_Port Identifier Virtualization for IBM System z9 Show all..
Section: Redpapers Draft IBM System p5 505 and 505Q Technical Overview and Introduction IBM System p5 550 and 550Q Technical Overview and Introduction IBM System Storage N Series Implementation of RAID Double Parity for Data Protection IBM System Storage N series MultiStore and SnapMover IBM System p5 510 and 510Q Technical Overview and Introduction Show all..
Section: Software Engineering How to Design Programs: An Introduction to Programming and Computing Reusable Software Components: Object-Oriented Embedded Systems Programming in C Adaptive Object-Oriented Software Object-Oriented System Development Object-Oriented Software Composition Show all..
Section: Telecommunication RF CIrcuit Design
Section: Software Testing Systematic Software Testing A Practitioner's Guide to Software Test Design
Section: Web Programming Web Design in a Nutshell Ajax Design Patterns
Section: Web Technology The Web Design CD Bookshelf Introduction to Web Design Web Style Guide: Basic Design Principles for Creating Web Sites Introduction to Web Design Designing Web Audio Show all..
Similar Books from Amazon :
|

|