This course presents a minimalist approach to interface design known as "S.A.T."
Developed by Dr Conway over the past decade, this design philosophy can produce smaller, better focussed, more usable module APIs.
Topics covered include:
- "Use and forget" interfaces
- Single-point-of-contact interfaces
- Operator vs functional vs OO interfaces
- Command-line and configuration interfaces
- Declarative interfaces and special-purpose languages
- Filtered interfaces
- "Subterranean" interfaces
- Co-opting and subverting existing Perl tools
- Re-interfacing existing modules
- Re-interfacing Perl
- Facades and other aggregated interfaces
- Common design mistakes
- Identifying opportunities for interface improvement
All the topics covered will be explored and illustrated by examining the interfaces and implementations of over a dozen commonly used modules from the Perl standard library and the CPAN (many of which were designed by Dr Conway himself).
1-day or 2-day seminar
Intermediate to advanced Perl programmers who are looking to make their module interfaces smaller, cleaner, and more usable.