Publication: Traits: Composing Classes from Behavioral Building Blocks
datacite.rights | restricted | |
dc.contributor.author | Schärli, Nathanael | |
dc.date.accessioned | 2025-01-08T20:19:09Z | |
dc.date.available | 2025-01-08T20:19:09Z | |
dc.date.issued | 2005-02 | |
dc.description.abstract | Inheritance is well-known and accepted as a fundamental mechanism for reuse in object-oriented languages. Unfortunately, the main variants —- single inheritance, multiple inheritance, and mixin inheritance —- all suffer from conceptual and practical problems related to software reuse and robustness with respect to changes. In a rst part of this thesis, we identify and illustrate these problems. To overcome these problems, we then present traits, a simple compositional model that extends single inheritance. A trait is essentially a (parameterized) set of methods; it serves as a behavioral building block for classes and is the primitive unit of code reuse. We develop a formal model of traits that establishes how traits can be composed to form other traits or classes, and we describe how we implemented traits in Squeak Smalltalk by bootstrapping a new language kernel. We present our experimental validation in which we apply traits to refactor parts of the Smalltalk kernel and library, and we develop a programming methodology around the usage of traits and the trait browser, the tool that we implemented to take full advantage of the availability of traits in the Squeak programming environment. | |
dc.description.numberOfPages | 128 | |
dc.identifier.doi | 10.7892/boris.104766 | |
dc.identifier.uri | https://boris-portal.unibe.ch/handle/20.500.12422/199420 | |
dc.language.iso | en | |
dc.relation.organization | Philosophisch-naturwissenschaftliche Fakultät | |
dc.relation.organization | DCD5A442C2AFE17DE0405C82790C4DE2 | |
dc.title | Traits: Composing Classes from Behavioral Building Blocks | |
dc.type | thesis | |
dspace.entity.type | Publication | |
dspace.file.type | text | |
oairecerif.identifier.url | http://scg.unibe.ch/archive/phd/schaerli-phd.pdf | |
unibe.contributor.role | creator | |
unibe.date.licenseChanged | 2019-11-21 01:36:34 | |
unibe.description.ispublished | pub | |
unibe.eprints.legacyId | 104766 | |
unibe.relation.institution | University of Bern | |
unibe.subtype.thesis | dissertation |
Files
Original bundle
1 - 1 of 1
- Name:
- schaerli-phd.pdf
- Size:
- 1.59 MB
- Format:
- Adobe Portable Document Format
- File Type:
- text
- License:
- publisher
- Content:
- published