Return to search

USING DYNAMIC MIXINS FOR SOFTWARE DEVELOPMENT

Object-oriented programming has gained significant traction in the software development community and is now the common approach for developing large, commercial applications. Many of these applications require the behaviour of objects to be modified at run-time. Contemporary class-based, statically-typed languages such as C++ and Java require collaboration with external objects to modify an object’s behaviour. Furthermore, such an object must be designed to order to support such collaborations. Dynamic languages such as Python which natively support object extension do not guarantee type safety. In this work, using dynamic mixins with static typing is proposed as a means of providing type-safe, object extension. A new language called mix is introduced that allows a compiler to syntactically check the type-safety of an object extension. A model to support object-oriented development is extended to support dynamic mixins. The utility of the approach is illustrated using sample use cases. Finally, a compiler was implemented to validate the practicality of the model proposed. / Thesis / Doctor of Philosophy (PhD)

Identiferoai:union.ndltd.org:mcmaster.ca/oai:macsphere.mcmaster.ca:11375/23829
Date January 2018
CreatorsBurton, Ronald
ContributorsSekerinski, Emil, Computing and Software
Source SetsMcMaster University
LanguageEnglish
Detected LanguageEnglish
TypeThesis

Page generated in 0.0022 seconds