
Tutorial:
Component-based Software Development with BlackBox

Table of Contents

Part I: Design Patterns
An introduction to the design patterns that are used throughout BlackBox.
To know these patterns makes it easier to understand and remember the
more detailed design decisions in the various BlackBox modules.

	1 UserInteraction
		1.1 User-friendliness
		1.2 Event loops
		1.3 Access by multiple users
		1.4 Language-specific parameters

	2 CompoundDocuments
		2.1 Persistence
		2.2 Display independence
		2.3 Multi-view editing
		2.4 Change propagation
		2.5 Nested views
		2.6 Delayed updates
		2.7 Container modes
		2.8 Event handling
		2.9 Controls

	3 BlackBoxDesignPractices
		3.1 Language support
		3.2 Modules and subsystems
		3.3 Bottleneck interfaces
		3.4 Object creation

Part II: Library
Demonstration how the most important library components
can be used: control, form, and text components.

	4 Forms
		4.1 Preliminaries
		4.2 Phone book example
		4.3 Interactors
		4.4 Guards
		4.5 Notifiers
		4.6 Standard controls
		4.7 Complex controls and interactors
		4.8 Input validation
		4.9 Accessing controls explicitly
		4.10 Summary

	5 Texts
		5.1 Writing text
		5.2 The Model-View-Controller pattern applied to texts
		5.3 Reading text
		5.4 Modifying text
		5.5 Text scripts
		5.6 Summary

Part III: View Construction
How new views can be developed, by giving a series of
examples that gradually become more sophisticated.

	6 ViewConstruction
		6.1 Introduction
		6.2 Message handling
		6.3 Preference messages
		6.4 Controller messages
		6.5 Properties
		6.6 Model-View separation
		6.7 Operations
		6.8 Separation of interface and implementation

Appendix A: ABriefHistoryofPascal
Appendix B: DifferencesbetweenPascalandComponentPascal
