﻿<?xml-stylesheet type="text/xsl" href="../../templates/doc.xsl"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html 
	xmlns="http://www.w3.org/1999/xhtml" 
	xmlns:doc="http://www.lepus.org.uk/doc" 
	xmlns:classz="http://www.lepus.org.uk/classz" 
	xmlns:fopl="http://www.lepus.org.uk/fopl" 
	xml:lang="EN-GB" 
	xmlns:v="urn:schemas-microsoft-com:vml" 
	xmlns:o="urn:schemas-microsoft-com:office:office">

<head>
	<link rel="stylesheet" type="text/css" href="../../templates/doc.css" />
	<title>The 'Gang of Four' Companion</title>
	<meta http-equiv="Content-Style-Type" content="text/css" />
	<meta name="Author" content="Amnon H Eden" />
</head>


<body>

<p class="pagetitle">The 'Gang of Four' Companion </p>

<p class="subtitle">Formal specification of design patterns in LePUS3 and Class-Z</p>

<p class="subtitle">Technical Report CSM-472, ISSN 1744-8050</p>

<p><a href="companion.pdf" style="border:0px">
	<img alt="Print this document" src="../../site/print.gif" /></a></p>

<p class="author"> 
	<a href="http://www.eden-study.org/">Amnon H Eden</a>, 
	<a href="http://www.nicholsonweb.co.uk/">Jonathan Nicholson</a>, 
	Epameinondas Gasparis<br /> 
	Department of Computer Science, University of Essex, United Kingdom</p>
<p class="author"> 
	31 December 2007</p>

<!-- <p class="date">Draft: 19 Oct. 2007</p> -->

<div class="abstract">
	<p>See also:</p>

	<ul>
		<li><a href="http://ttp.essex.ac.uk/index.php?page=verification">
		<strong>Tool support</strong> in specification and verification of 
		design patterns</a></li>
		<li><a href="../legend/legend.xml"><strong>Legend</strong>: Key to LePUS3 and 
			Class-Z Symbols</a> [<a href="../legend/legend.pdf">.pdf</a>]</li>
		<li><a href="../refman/refman.xml">The LePUS3 and Class-Z <strong>Reference Manual</strong></a> [<a href="../refman/refman.pdf">.pdf</a>]</li>
	</ul>
	<p>Download:</p>

	<ul>
		<li><a href="../../spec/gof/lepus3/gof.vsd">The 'gang of four' design patterns in LePUS3 (Visio 2003 format)</a></li>
	</ul>

</div>  <!-- Abstrac-->


<h3>Abstract</h3>

<div class="abstract">

	<p>This document demonstrates how the informal specifications of the design 
		patterns the 'Gang of Four' seminal catalogue [<a href="http://www.lepus.org.uk/ref/index.xml#bib">Gamma 
		et al 1995</a>] can be specified formally using the LePUS3 and Class-Z 
		object-oriented Architecture Description Languages.</p>

</div>
<h3>Table of Contents</h3>

<p><a href="faq.xml">Frequently-Asked Questions</a></p>

<ul>
	<li><a href="AbstractFactory.xml">Abstract Factory</a></li>
	<li><a href="Adapter(Class).xml">Adapter (Class)</a></li>
	<li><a href="Adapter(Object).xml">Adapter (Object)</a></li>
	<li><a href="Bridge.xml">Bridge</a></li>
	<li><a href="Composite.xml">Composite</a></li>
	<li><a href="Decorator.xml">Decorator</a></li>
	<!-- <li><a href="Facade.xml">Facade</a></li> -->
	<li><a href="FactoryMethod.xml">Factory Method</a></li>
	<li><a href="Flyweight.xml">Flyweight</a></li>
	<li><a href="Iterator.xml">Iterator</a></li>
	<li><a href="Observer.xml">Observer</a></li>
	<li><a href="Proxy.xml">Proxy</a></li>
	<li><a href="State.xml">State</a></li>
	<li><a href="Strategy.xml">Strategy</a></li>
	<li><a href="TemplateMethod.xml">Template Method</a></li>
	<li><a href="Visitor.xml">Visitor</a></li>
</ul>

</body>
</html>