Using Dynamic Mixins to Implement Design Patterns. Burton, E. & Sekerinski, E. In Proceedings of the 19th European Conference on Pattern Languages of Programs, of EuroPLoP '14, pages 14:1–14:19, July, 2014. ACM.
doi  abstract   bibtex   
Design patterns are used as a means of documenting solutions to commonly occurring problems. In this work, we focus on object-oriented patterns that require object extension. Typically, the implementation of such patterns is done using object composition. Dynamic mixin composition is proposed as a viable alternative in this paper. The issues of safety and reuse are considered during the comparison of the two approaches. A new mixin language is defined to illustrate the benefits of mixin composition. Then, a survey of sample GOF pattern implementations using both approaches is critiqued and finally some patterns specifically designed to address the shortcomings of object composition are critically reviewed.
@inproceedings{BurtonSekerinski14MixinsDesignPatterns,
	series = {{EuroPLoP} '14},
	title = {Using {Dynamic} {Mixins} to {Implement} {Design} {Patterns}},
	doi = {10.1145/2721956.2721991},
	abstract = {Design patterns are used as a means of documenting solutions to commonly occurring problems. In this work, we focus on object-oriented patterns that require object extension. Typically, the implementation of such patterns is done using object composition. Dynamic mixin composition is proposed as a viable alternative in this paper. The issues of safety and reuse are considered during the comparison of the two approaches. A new mixin language is defined to illustrate the benefits of mixin composition. Then, a survey of sample GOF pattern implementations using both approaches is critiqued and finally some patterns specifically designed to address the shortcomings of object composition are critically reviewed.},
	booktitle = {Proceedings of the 19th {European} {Conference} on {Pattern} {Languages} of {Programs}},
	publisher = {ACM},
	author = {Burton, Eden and Sekerinski, Emil},
	editor = {Heesch, Uwe van},
	month = jul,
	year = {2014},
	pages = {14:1--14:19},
}

Downloads: 0