• English
    • Norsk
  • English 
    • English
    • Norsk
  • Administration
View Item 
  •   Home
  • Det matematisk-naturvitenskapelige fakultet
  • Institutt for informatikk
  • Institutt for informatikk
  • View Item
  •   Home
  • Det matematisk-naturvitenskapelige fakultet
  • Institutt for informatikk
  • Institutt for informatikk
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Observation of interactions between Design Patterns and Programming Languages

Webjørnsen, Joshua
Master thesis
View/Open
final_draft.pdf (477.6Kb)
Year
2018
Permanent link
http://urn.nb.no/URN:NBN:no-65367

Metadata
Show metadata
Appears in the following Collection
  • Institutt for informatikk [3586]
Abstract
Software design patterns are elaborate ways to deal with specific recurring issues in software development. They are re-usable templates, plans that can be applied in multiple situations to help, not only create more coherent system designs, but also increase maintainability and extensibility. However, no two programming languages are perfectly alike. Each have their own styles and design philosophies, often valuing different aspects of programming. The aim is to determine whether the design patterns’ values are preserved in varying object-oriented environments and how they interact with one another. This study examines a small set of the classic design patterns, cataloged by the Gang of Four decades ago, and how they behave in a few distinct, modern programming languages, specifically Scala, Python and C#. Each of the selected design patterns are implemented in each of the three languages along with other feasible alternatives. The implementations are thereafter compared between the languages for each pattern in an attempt to identify language properties which may have an effect to the patterns’ structure or benefits. Evaluation of the results show a great variety of elements which affect how a pattern looks like in a given programming language. The patterns are commonly least affected in statically-typed languages and retain most of their intended purposes, while some prove to be redundant in dynamic languages. Evidence suggest that certain design patterns were originally developed as replacements for language features found in other languages, usually with differing paradigms. A common use being emulation of operations commonly found in functional languages, but not present in object-oriented languages.
 
Responsible for this website 
University of Oslo Library


Contact Us 
duo-hjelp@ub.uio.no


Privacy policy
 

 

For students / employeesSubmit master thesisAccess to restricted material

Browse

All of DUOCommunities & CollectionsBy Issue DateAuthorsTitlesThis CollectionBy Issue DateAuthorsTitles

For library staff

Login
RSS Feeds
 
Responsible for this website 
University of Oslo Library


Contact Us 
duo-hjelp@ub.uio.no


Privacy policy