interaction design: building an ePortfolio
Blog
site map
resources
tools

Technologies: what are design patterns?

Design patterns

Design patterns are well-known solutions to common problems in software engineering. Yahoo describes a design pattern as “an optimal solution to a common problem within a specific context."

As you develop your web sites you will encounter a range of problems which have almost certainly been solved by others. Knowing which design patterns to use can save you a lot of time.

NOTE: The first two tasks should be completed in pairs and then shared.

Step 1: What are design patterns?

  1. Identify the design patterns you have used in building your website.
  2. Write a brief description (300 words) of what a design pattern is, and how you have used them in your website.
  3. Include the description in your Technology section in your website.

Step 2: Design patterns for software engineering

You’ll often use design patterns to address a specific aspect of your web site function.  However there are design patterns which apply to the entire software engineering process, sometimes called design architectures.

  • As an application grows it becomes more complex.  Keeping track of programmatic structures and their relationships to each other becomes increasingly difficult to manage.  Design architectures bring order to potential chaos.  The Model-View-Controller (MVC) architecture greatly assists in managing this complexity.
  • As a starting point use Wikipedia to understand the MVC pattern.  Note the diagram.
  1. Using the resources provided find another diagram that also explains the MVC pattern.
  2. Using the diagrams explain the roles of the Model, View and Controller.
  3. Search the web, and find three advantages of using the MVC design pattern.
  4. Write a brief overview (300 words) of the MVC design pattern and include it in the Technology section of your website.

 

Assessment
learning tasks Semantic mark-up and XML exploring ruby on rails create a group blog get to know one another Develop a company website What is Web 2.0? what is interaction design
ePortfolio
Mobile Design
Site info