Spelling suggestions: "subject:"buck typing"" "subject:"luck typing""
1 |
Implementing a reusable design pattern Library in C#Van Leeuwen, Alastair January 2013 (has links)
Design patterns in software systems are described as a universal reusable solution to a commonly recurring problem in software design. Design patterns were, however, not intended to be reusable in terms of code. A symptom of their non-reusability is the problems experienced with the way the implementation of design patterns negatively affects their traceability, maintainability and contribution to productivity. This thesis shows how design patterns can be elevated to a higher level of reusability. This work presents design patterns as reusable components that developers can use to implement solutions that utilise patterns, without having to implement a major part of a pattern’s structure and behaviour anew each time. A component is a reusable software section, with possible library classes, that is usually in source form. Previous research has shown that a high proportion of patterns (65%) can be “componentized” in Eiffel, which leads to the idea that a language supporting the same set of features would also have the same success in pattern componentization. This thesis has looked at the componentization of twelve design patterns in C#. The C# language has more advanced language features than Eiffel, including functional and dynamic language features and, as such, should lend itself better to pattern componentization than Eiffel does. The language features that are reviewed in this thesis are inheritance, design by contract™, attributes, method references (or delegates), anonymous functions, lambda expressions, mixins (or extension methods), duck typing, dynamic types and meta-programming. Each pattern’s reusable components are discussed in detail, including the success of the reusable component transformation. All the design patterns reviewed in this thesis could be transformed into fully or partially reusable components. Implementing design patterns using reusable library components is thus a step in the right direction in making design pattern implementations more traceable, reusable, maintainable and more productive. Other object-oriented languages implementing the same or similar language features as those reviewed in this thesis should have the same level of success in transforming design patterns into reusable components. / Dissertation (MSc)--University of Pretoria, 2013. / gm2014 / Computer Science / unrestricted
|
2 |
Automatické vyhodnocování studentských úloh / Automatic evaluation of the students' assessmentsOraný, Vladimír January 2009 (has links)
Nearly seven hundreds of students each year apply for informatics' studies at University of economics, Prague (UEP). At the beginning, each one must complete two courses related to programming - Introduction to Programming and Fundamentals of Software Engineering. Both courses produce a lot of outputs -- simpler home works or more complex semestral projects -- which must be assessed by the teachers. Especially assessment of early home works is laboring and routine which makes it perfect candidate for automation. The goal of this work is to suggest the best suitable way how to implement this automation at UEP. Since mass courses make troubles universities all around the world there is already a lot of existing solutions how to automate evaluation of programming courses. First two chapters summarize the effort to find the most interesting ones and present them to the Czech audience. Because existing solutions are really sophisticated but does not provide white box tests support needed at UEP the rest of this thesis is not about creating own new automatic assessment system but about creating a middleware which can handle the problem mentioned. The middleware called Duckapter makes usage of Java reflection API easier and is downloadable from project website http://code.google.com/p/duckapter. Using them, the teachers can provide white box tests inside the black box (unit) tests which are supported by the most of the current automatic assessment systems.
|
Page generated in 0.0454 seconds