Chapter 3 - Class Libraries Flashcards
Why collection classes?
programming languages provide only limited functionality - additional functionality implemented as libraries
what are advantages of using class libraries?
less in-house development, less testing effort and broader test coverage, less maintenance and improvements for free
what are the rules of design?
using interfaces (specifies type, always develop against interfaces), abstract class (implementation skelekton), concrete classes (complete type implementation based on abstraction
what is good API design?
in-parameter: type should be as abstract as possible, return paramter: type should be as concrete as possible
what is fluent API?
using chaining, is flexible and readable
how can class libraries be structured?
by dividing systems into subsystems
which sorts of GUI are there?
Modal applications with user-guidance (only few or even only one action possible), event-driven applications: events (by user, OS) trigger actions, challenge: handling control flow
Explain the Model-view-Controller approach (MVC)
model: comprises domain data and logic, view: responsible for visualization, controller: in charge of event handling
Explain the Presentation Model in more detail (MVC)
user interface state is handled, all dependent views are notified about state change
What are the limitations of class libraries?
complexity: class libraries tend to be large, good design comes with time (when to release first version?)