Towards a Classification of Design Patterns for Web Programming
Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesisAlternative title
Towards a Classification of Design Patterns for Web Programming Based on Analysis of Web Application Frameworks (English)
The evolution of WWW leads to continuous growth of demands that are placed on web applications that results in creating sophisticated web architectures. To minimize the complexity behind their design, software frameworks were introduced. There are hundreds of web frameworks, hence the choice of the right framework can be seen as searching for the holy grail.
This thesis investigates the possibility of creating and validates usefulness of a classification scheme which organizes well-known object-oriented design patterns found in popular web frameworks: Apache Struts, Ruby on Rails, CakePHP and Zend Framework. The proposed classification scheme is based on two criteria: purpose and scope. The classification of such patterns that capture design rationale behind the decisions and best practices, is potentially important for building or restructuring a generic web framework, for capturing expertise knowledge and for orientation purposes in the problem domain - web engineering.
The methodology used in this thesis is based on case studies and the identification of design patterns in web frameworks uses manual approaches. The results revealed popular design patterns in web frameworks and that the proposed classification scheme in a form of a 2D matrix must be refined, because relationships among design patterns in web frameworks are important and have a tendency to be formed as complex hierarchies. It is proposed to use a classification scheme in a form of a map or a tree when refining the scheme.
Place, publisher, year, edition, pages
2011. , 35 p.
design patterns, web frameworks, Rails, Zend Framework, Struts, CakePHP, web programming, classification
Software Engineering Computer Science
IdentifiersURN: urn:nbn:se:lnu:diva-12834OAI: oai:DiVA.org:lnu-12834DiVA: diva2:425351
Subject / course
2011-05-30, D0043, Växjö, 10:00 (English)