Program |
 |
|
|
Find in Program |
 |
|
|
Page |
 |
|
|
Basket |
 |
|
view, help
"Effective Interface Design: Seven Recommendations for Improving the Design of Interfaces in Code"
|
|
|
|
Effective Interface Design: Seven Recommendations for Improving the Design of Interfaces in Code
Meeting Room 13 Tuesday, 13:30, half day 7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Kevlin Henney, Curbralan Limited: Kevlin Henney is an independent consultant and trainer. The focus of his work is in programming languages, OO, CBD, UML, patterns, and software architecture. At various times he has been a regular columnist for C/C++ Users Journal (online), Application Development Advisor (UK), JavaSpektrum (Germany), Java Report, and C++ Report. He is also on the advisory board for Hillside Europe, was the program chair for EuroPLoP 2003, and is a popular speaker at conferences in the US and Europe.
Tutorial number: 46
Much is made of the pure interface mechanism found in Java, C#, IDLs, and other languages, but this enthusiasm is often not accompanied with advice on effective use. Interfaces are often sold short as a poor relative of abstract classes. How can developers design interfaces that are stable, sufficient, extensible, and sensitive to their context of use, such as callbacks or multithreading?
This talk selects seven recommendations that support effective interface design, whether the interfaces in question are object oriented, procedural, purely abstract, or simply the publicly available methods on a class. The recommendations are drawn from the thirteen recommendations of the Programmer's Dozen, presented at the previous two OOPSLA conferences. C, C++, C#, Java, CORBA IDL, and UML are used to illustrate various examples, counterexamples, and principles.
Beginner: This tutorial is targeted at people who write code for a living, typically using a curly-bracket language (C++, C#, Java, etc.) and are looking for some extra advice on how to partition their code with stable and intentional interfaces.
|