Patterns for writing computer instructions are evolving. But another instructional technique went through these same growing pains long before the first personal computer. At least, biology seems to have happened upon interface reuse at some specific point in the evolution of DNA.
Exhibit A: the fruit fly, whose antennae are capable of growing eyes when lab scientists recombine instructions from a tadpole chromosome. How can instructions intended for a tadpole's head operate on a fruit fly's antenna? What makes this reuse possible? Tadpole and fruit fly eyes are radically dissimilar - one has a retina and lens, the other has light-collecting chambers. The instructions in modern genetic material are general, and can be locally interpreted. "Grow eye" seems to be enough, with the organism independently taking over the details from there.
Exhibit B: single-celled protists whose genetic material and style of instruction is of a much older variety. At this time, we find the instructions to be very context-dependent. The instructions are not interoperable. There is no instructional interface. Recombination is ineffective, and reuse is impossible.
Back in the world of technology, this maturation of instructional strategies is evident everywhere. When I started programming in the early 1980's, I recall that most coding techniques were dependent on specific reference sizes and data structuring conventions. Reusable contractual interfaces were seldom established, and subroutines broke when removed from their original context.
Apparently, whoever wrote the instructions for the frog learned some of the same lessons we're learning now. Perhaps new understandings of technology can be gained from fresh comparisons of our work with the processes of the natural world.
-- LukeSamaha
I was looking for a page on wiki for PatternExamples? or DesignPatternExamples? but found only individual examples such as VisitorPatternExample and CompositePatternExample. Since there doesn't seem to be a root page for these individual ones I will place a link here to an outside one that might fill the gap in the meantime: http://www2.ing.puc.cl/~jnavon/IIC2142/patexamples.htm Even though it says "Non-Software examples of DesignPatterns " it seems like a nice simple quick reference. After all, patterns had their origin in architecture anyway.