Skip to content

Latest commit

 

History

History

chapter-4

Chapter 4: Interfaces

Chapter summary

Building a program is one thing, writing a code that is going to be consumed from others, another. In this chapter we will take a look at designing libraries and the problems that are to be solved in that aspect:

  • Interfaces - defining meaningful interface that expose enough functionallity, but in the same time hide the internals well
  • Information hiding - what is public and what private?
  • Resource management - who is responsible for the resources shared with the library?
  • Error handling - how do you handle errors, how do you recover from one and how do you return them to your consumer?

Table of Contents

Supplementary Reading

  • The Mythical Man Month by Frederick P. Brooks, Jr.
  • Large-Scale C++ Software Design by John Lakos
  • C Interfaces and Implementations by David Hanson
  • Rapid Development by Steve McConnell
  • Designing Visual Interfaces: Communication Oriented Techniques by Kevin Mullet and Darrell Sano
  • Designing the User Interface: Strategies for Effective Human-Computer Interaction by Ben Shneidermann
  • About Face: The Essentials of User Interface Desing by Alan Cooper
  • User Interface Design by Harold Thimbleby