Structural pattern: Difference between revisions

Content deleted Content added
m top: General fixes and Typo fixing using AWB
rm non-notable
 
(4 intermediate revisions by 4 users not shown)
Line 1:
In [[software engineering]], '''structural design patterns''' are [[Design pattern (computer science)|design patterns]] that ease the design by identifying a simple way to realize relationships betweenamong entities.
 
Examples of Structural Patterns include:
Line 7:
| url = http://c2.com/
| title = Adapter Pipeline
| author =
| date = 2010-12-31
| publisher = Cunningham & Cunningham, Inc.
| archiveurlarchive-url = http://c2.com/cgi/wiki?AdapterPipeline
| archivedatearchive-date = 2010-12-31
| accessdateaccess-date = 2012-07-20
}}</ref>
** Retrofit Interface Pattern:<ref>{{cite web
Line 18 ⟶ 17:
| title = Retrofit Interface Pattern
| author = BobbyWoolf
| authorlink = | date = 2002-06-19
| publisher = Cunningham & Cunningham, Inc.
| archiveurlarchive-url = http://c2.com/cgi/wiki?RetrofitInterfacePattern
| archivedatearchive-date = 2002-06-19
| accessdateaccess-date = 2012-07-20
}}</ref><ref>{{cite web
| url = http://c2.com/
| title = External Polymorphism
| author = MartinZarate
| authorlink = | date = 2010-12-31
| publisher = Cunningham & Cunningham, Inc.
| archiveurlarchive-url = http://c2.com/cgi/wiki?ExternalPolymorphism
| archivedatearchive-date = 2010-12-31
| accessdateaccess-date = 2012-07-20
}}</ref> An adapter used as a new interface for multiple classes at the same time.
* [[Aggregate pattern]]: a version of the [[Composite pattern]] with methods for aggregation of children
Line 38 ⟶ 37:
| url = http://c2.com/
| title = Tomb Stone
| author =
| date = 2007-06-17
| publisher = Cunningham & Cunningham, Inc.
| archiveurlarchive-url = http://c2.com/cgi/wiki?AdapterPipeline
| archivedatearchive-date = 2007-06-17
| accessdateaccess-date = 2012-07-20
}}</ref>
* [[Composite pattern]]: a tree structure of objects where every object has the same interface
* [[Decorator pattern]]: add additional functionality to aan classobject at runtime where subclassing would result in an exponential rise of new classes
* [[Extensibility pattern]]: a.k.a. Framework - hide complex code behind a simple interface
* [[Facade pattern]]: create a simplified interface of an existing interface to ease usage for common tasks