<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Structural_pattern</id>
	<title>Structural pattern - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Structural_pattern"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Structural_pattern&amp;action=history"/>
	<updated>2026-06-19T21:24:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Structural_pattern&amp;diff=512646&amp;oldid=prev</id>
		<title>imported&gt;Helpful Raccoon: rm non-notable</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Structural_pattern&amp;diff=512646&amp;oldid=prev"/>
		<updated>2025-07-26T21:12:00Z</updated>

		<summary type="html">&lt;p&gt;rm non-notable&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[software engineering]], &amp;#039;&amp;#039;&amp;#039;structural design patterns&amp;#039;&amp;#039;&amp;#039; are [[Design pattern (computer science)|design patterns]] that ease the design by identifying a simple way to realize relationships among entities.&lt;br /&gt;
&lt;br /&gt;
Examples of Structural Patterns include:&lt;br /&gt;
&lt;br /&gt;
* [[Adapter pattern]]: &amp;#039;adapts&amp;#039; one interface for a class into one that a client expects&lt;br /&gt;
** Adapter pipeline: Use multiple adapters for debugging purposes.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 | url         = http://c2.com/&lt;br /&gt;
 | title       = Adapter Pipeline&lt;br /&gt;
 | date        = 2010-12-31&lt;br /&gt;
 | publisher   = Cunningham &amp;amp; Cunningham, Inc.&lt;br /&gt;
 | archive-url  = http://c2.com/cgi/wiki?AdapterPipeline&lt;br /&gt;
 | archive-date = 2010-12-31&lt;br /&gt;
 | access-date  = 2012-07-20&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
** Retrofit Interface Pattern:&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 | url         = http://c2.com/&lt;br /&gt;
 | title       = Retrofit Interface Pattern&lt;br /&gt;
 | author      = BobbyWoolf&lt;br /&gt;
 | date        = 2002-06-19&lt;br /&gt;
 | publisher   = Cunningham &amp;amp; Cunningham, Inc.&lt;br /&gt;
 | archive-url  = http://c2.com/cgi/wiki?RetrofitInterfacePattern&lt;br /&gt;
 | archive-date = 2002-06-19&lt;br /&gt;
 | access-date  = 2012-07-20&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 | url         = http://c2.com/&lt;br /&gt;
 | title       = External Polymorphism&lt;br /&gt;
 | author      = MartinZarate &lt;br /&gt;
 | date        = 2010-12-31&lt;br /&gt;
 | publisher   = Cunningham &amp;amp; Cunningham, Inc.&lt;br /&gt;
 | archive-url  = http://c2.com/cgi/wiki?ExternalPolymorphism&lt;br /&gt;
 | archive-date = 2010-12-31&lt;br /&gt;
 | access-date  = 2012-07-20&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; An adapter used as a new interface for multiple classes at the same time.&lt;br /&gt;
* [[Aggregate pattern]]: a version of the [[Composite pattern]] with methods for aggregation of children&lt;br /&gt;
* [[Bridge pattern]]: decouple an abstraction from its implementation so that the two can vary independently&lt;br /&gt;
** Tombstone: An intermediate &amp;quot;lookup&amp;quot; object contains the real location of an object.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 | url         = http://c2.com/&lt;br /&gt;
 | title       = Tomb Stone&lt;br /&gt;
 | date        = 2007-06-17&lt;br /&gt;
 | publisher   = Cunningham &amp;amp; Cunningham, Inc.&lt;br /&gt;
 | archive-url  = http://c2.com/cgi/wiki?AdapterPipeline&lt;br /&gt;
 | archive-date = 2007-06-17&lt;br /&gt;
 | access-date  = 2012-07-20&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Composite pattern]]: a tree structure of objects where every object has the same interface&lt;br /&gt;
* [[Decorator pattern]]: add additional functionality to an object at runtime where subclassing would result in an exponential rise of new classes&lt;br /&gt;
* [[Extensibility pattern]]: a.k.a. Framework - hide complex code behind a simple interface&lt;br /&gt;
* [[Facade pattern]]: create a simplified interface of an existing interface to ease usage for common tasks&lt;br /&gt;
* [[Flyweight pattern]]: a large quantity of objects share a common properties object to save space&lt;br /&gt;
* [[Marker interface pattern|Marker pattern]]: an empty interface to associate metadata with a class.&lt;br /&gt;
* [[Pipes and filters]]: a chain of processes where the output of each process is the input of the next&lt;br /&gt;
* [[Opaque pointer]]: a pointer to an undeclared or private type, to hide implementation details&lt;br /&gt;
* [[Proxy pattern]]: a class functioning as an interface to another thing&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Behavioral pattern]]&lt;br /&gt;
* [[Concurrency pattern]]&lt;br /&gt;
* [[Creational pattern]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Commons category|Structural software design patterns}}&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
{{Design Patterns patterns}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Structural Pattern}}&lt;br /&gt;
[[Category:Software design patterns]]&lt;br /&gt;
[[Category:Articles with example Java code]]&lt;br /&gt;
[[Category:Articles with example C Sharp code]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Helpful Raccoon</name></author>
	</entry>
</feed>