Full Text Available

Note: Clicking the button above will open the full text document at the original institutional repository in a new window.

Implementing a reusable design pattern Library in C#

Dissertation (MSc)--University of Pretoria, 2013.

Saved in:
Bibliographic Details
Other Authors: Bishop, Judith
Format: Thesis
Language:English
Published: University of Pretoria 2014
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1867613436804857856
access_status_str Open Access
author2 Bishop, Judith
author_browse Bishop, Judith
author_facet Bishop, Judith
collection Thesis
dc_rights_str_mv © 2013 University of Pretoria. All rights reserved. The copyright in this work vests in the University of Pretoria. No part of this work may be reproduced or transmitted in any form or by any means, without the prior written permission of the University of Pretoria.
description Dissertation (MSc)--University of Pretoria, 2013.
format Thesis
id oai:repository.up.ac.za:2263/36776
institution University of Pretoria (South Africa)
language English
last_indexed 2026-06-10T12:36:07.570Z
license_str Other — see source repository
provenance_str_mv Harvested via OAI-PMH from UPSpace — University of Pretoria Institutional Repository
publishDate 2014
publishDateRange 2014
publishDateSort 2014
publisher University of Pretoria
publisherStr University of Pretoria
record_format dspace
source_str UPSpace — University of Pretoria Institutional Repository
spelling oai:repository.up.ac.za:2263/36776 Implementing a reusable design pattern Library in C# Bishop, Judith alastairhvanleewenyahoo.com Van Leeuwen, Alastair Design patterns C# 4.0 Language features Reusable Duck typing UCTD Dissertation (MSc)--University of Pretoria, 2013. 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. gm2014 Computer Science unrestricted 2014-02-26T11:17:02Z 2014-02-26T11:17:02Z 2013-09-04 2013 Dissertation Van Leeuwen, A 2013, Implementing a reusable design pattern Library in C#, MSc dissertation, University of Pretoria, Pretoria, viewed yymmdd <http://hdl.handle.net/2263/36776> E13/9/1141/gm http://hdl.handle.net/2263/36776 en © 2013 University of Pretoria. All rights reserved. The copyright in this work vests in the University of Pretoria. No part of this work may be reproduced or transmitted in any form or by any means, without the prior written permission of the University of Pretoria. application/pdf University of Pretoria
spellingShingle Design patterns
C# 4.0
Language features
Reusable
Duck typing
UCTD
Implementing a reusable design pattern Library in C#
title Implementing a reusable design pattern Library in C#
title_full Implementing a reusable design pattern Library in C#
title_fullStr Implementing a reusable design pattern Library in C#
title_full_unstemmed Implementing a reusable design pattern Library in C#
title_short Implementing a reusable design pattern Library in C#
title_sort implementing a reusable design pattern library in c
topic Design patterns
C# 4.0
Language features
Reusable
Duck typing
UCTD
url http://hdl.handle.net/2263/36776