REVIEW - Building Application Frameworks - Object-Oriented Foundations of Framework Design

Title:

Building Application Frameworks - Object-Oriented Foundations of Framework Design

Author:

Mohamed Fayad, Douglas C. Schmidt, Ralph E. Johnson

ISBN:

0471248754

Publisher:

John Wiley & Sons Incorporated (1999)

Pages:

664pp

Reviewer:

Colin Harkness

Reviewed:

August 2000

Rating:

★★★☆☆

Dip into the chapters that you think will be useful. Recommended.

An application framework can be described as 'a skeleton of an application that can be customised by an application developer'. A key difference between a framework and a traditional library of code is what the authors call 'inversion of control'. With a library, the developer reuses library components by writing a main program that calls them as and when required. An application framework, however, calls the developer's code and is responsible for structure and flow control. You never write main(). Another distinction is that frameworks are often domain specific.

This is the first of a 3-volume set covering Application Frameworks. This volume covers the concepts and gives experience- based guidance to decision-makers on developing and using this technology. The other two volumes use case studies to examine real application frameworks and discuss what we can learn from them. This is, therefore, the key book and perhaps the only one students would require. (Note: the book mentions an instructor guide and gives links to supplementary material on the web. However, it appears this has not been written yet).

The chapters form a collection of articles by a large number of authors. They vary in style and their introductions sometimes repeat material. With so many concepts and ideas to take in, this is no bad thing. The authors and examples mainly come from industry research departments and academia. The result is that we are left to assume these frameworks were successful and that their authors were enlightened folk whom we should learn from. Where are all the failed projects we can learn from? I guess you do not win research funding by writing up your failures or those of your fellow researchers.

I found some of the chapters pretty heavy going. The 'who should read this book' has a laughably long list (about 20 different job titles). In reality I would recommend the reader should have a strong foundation in OO concepts, more than one (OO) language and some experience implementing and using such frameworks. It is not a book to read cover-to-cover. Dip into the chapters that you think will be useful. Recommended.


Book cover image courtesy of Open Library.