Aggregate pattern: Difference between revisions

Content deleted Content added
Replaced confusing example with something hopefully clearer
added refs
Line 8:
 
== Computer programming ==
 
{{Expand-section|a clear explanation of the code example or adding another code example|date=October 2007}}
 
In [[Design Patterns]], an aggregate is not a design pattern but rather refers to an object such as a list, vector, or generator which provides an interface for creating [[iterator]]s. The following example code is in [[Python (programming language)|Python]].
Line 46 ⟶ 44:
</pre>
 
Python hides essentially all of the details using the [http://www.python.org/doc/lib/typeiter.html iterator protocol]. Confusingly, [[Design Patterns]] uses "aggregate" to refer to the blank in the code <code>for x in ___:</code> which is unrelated to the term "aggregation" <ref>[[Design Patterns]], p. 22: "Aggregation implies that one object owns or is responsible for another object. ... Aggregation implies that an aggregate object and its owner have identical lifetimes."</ref>. Neither of these terms refer to the statistical aggregation of data such as the act of adding up the Fibonacci sequence or taking the average of a list of numbers.
 
== References ==
 
<references/>
 
== See also ==