Traits: A mechanism for fine-grained reuse
Stéphane Ducasse, Oscar Nierstrasz, Nathanael Schärli, Roel Wuyts, Andrew P. Black
Inheritance is well-known and accepted as a mechanism for reuse in object-oriented languages. Unfortunately, due to the coarse granularity of inheritance, it may be difficult to decompose an application into an optimal class hierarchy that maximizes software reuse. Existing schemes based on single inheritance, multiple inheritance, or mixins, all pose numerous problems for reuse. To overcome these problems we propose traits, pure units of reuse consisting only of methods. We develop a formal model of traits that establishes how traits can be composed, either to form other traits, or to form classes. We also outline an experimental validation in which we apply traits to refactor a nontrivial application into composable units.
ACM Transactions on Programming Languages and Systems (TOPLAS)
Volume 28 , Issue 2 (March 2006)
Pages: 331 - 388
Year of Publication: 2006
Great demonstrations of powerful combination of recent deep neural networks applications - stacked hourglass networks for human pose estima...
An XForms-based programming model for web applications, HopiXForms (HX), is presented. It allows multi-targetting of applications. An XForm...
An excellent paper (in fact, a best-paper-awarded paper) describing technologies (a Web application development tool) with Ajax-like techn...