Meeting 2014 january

Chad Granum edited this page Dec 31, 2013 · 1 revision
Clone this wiki locally

Module Interface/API design

Speaker: Chad 'Exodist' Granum

Most developers create a module when they want to solve a problem. Most focus goes into the inner-workings of the module. Interface often takes a backseat and is addressed as an afterthought. This approach to interface design leads to horrible headaches.

For Part 1 Chad will be introducing several module interface paradigms. This includes a brief review of OO, as well as simple exporters and declarative builders. Examples from common CPAN modules will be given.

For Part 2 chad will take attendees through an exercise in designing an API for an example module that is actually useful (and not simply a toy for the example). We will weigh the pros and cons of different interface possibilities as well as show a complete implementation.