Secrets of Developing With Frameworks

5/7/98


Click here to start


Table of Contents

Secrets of Developing With Frameworks

First Rule of Framework Design

Frameworks

A Framework is:

Frameworks

Why We Are Interested

Relevant Principles

Generalize from Concrete Cases

Frameworks are Generalizations

Finding Abstract Classes

Frameworks Require Iteration

Frameworks Encode Domain Knowledge

Customers are Programmers

Example-driven Design

Ideal Way to Develop Framework

Designing Abstractions

Why Ideal is Never Followed

Good Way to Develop Framework

Typical Way to Develop Framework

Problems with Reuse as a Side-effect

Another Strategy

White-box vs. Black-box

Design Patterns

Application Generators

Summary: Patterns for Developing Frameworks

Summary: Patterns for Developing Frameworks

HotDraw

Hotdraw Ex1: Drawing Editor

Hotdraw Ex.2 - PERT Chart

PERT Chart

Figure

Drawing

Tool (original)

Handle (original)

Domain Knowledge Reuse

Problem with Old HotDraw

Commands

Handle is now just a Figure with an embedded Command.

Events

State Pattern

Advantages of Black-box Frameworks

Disadvantages of Black-box Framework

Code for Bezier Tool

Visual Builder

Patterns and Refactoring

The Refactoring Browser

Hints for Framework Design

Size Matters

Scheduling Development on a Large Framework

Strategic Concerns

Customers are Crucial

Reuse Scenarios

Dealing with Iteration

Documentation and Training

Documentation and Training

NIH vs. TILI

More Information

Author: Ralph Johnson

Email: droberts@cs.uiuc.edu

Home Page: http://st-www.cs.uiuc.edu/~droberts

Download presentation source