DocumentCode
1119626
Title
Designing Extensible Classes
Author
Wirfs-Brock, R.J.
Volume
24
Issue
5
fYear
2007
Firstpage
15
Lastpage
17
Abstract
This paper discusses about the design of extensible classes. Designers seek design rules that guarantee well-formed class hierarchies, appropriate interfaces, and easily extensible classes. Unfortunately, the detailed design of extensible class hierarchies is filled with nuanced reasoning. Building clean abstractions with clearly defined extension points is satisfying, but the best design choice isn\´t always obvious. How much access should you give a subclass to a class\´s inner workings? How much freedom should you give a subclass designer to "bend" inherited behaviors to make a new abstraction fit in or to extend an existing one? These decisions involve nuanced reasoning. The contract between a class and its subclasses requires thoughtful design, experimentation, and careful specification.
Keywords
formal specification; object-oriented programming; software libraries; class hierarchies; class interfaces; design specifications; extensible classes design; nuanced reasoning; Algorithm design and analysis; Contracts; Design methodology; Law; Legal factors; Libraries; Plugs; Protection; Terminology; abstractions; class; subclass;
fLanguage
English
Journal_Title
Software, IEEE
Publisher
ieee
ISSN
0740-7459
Type
jour
DOI
10.1109/MS.2007.137
Filename
4302678
Link To Document