Component Design Patterns

[ProjectIndex | CategoryPatternLanguage]

Project Title

Component Design Patterns: A Pattern Language for Component-Based Development

(http://c2.com/ppr/wiki/ComponentDesignPatterns/html.zip -- fast download of these pages.)


Authors/Participants

The following people have been known to participate on the WikiWikiWeb part of the ComponentDesignPatterns project:

BradAppleton, RalphJohnson, MichaelFeathers, StuartBarker, DafyddRees, DaveHarris, JoshuaKerievsky, MikeBeedle, SteveBerczuk, AlistairCockburn, RaySchneider, DavidHarvey, JoshuaSusser, ChrisCleeland

This list is in no order, and was created by looking at who's contributed to the WikiWikiWeb pages that our project is composed of. Don't be shy -- if you are missing from the list and you have contributed, feel free to add yourself. Conversely, if you are on the list and don't want to be there, take yourself off :-)

Also, there is a book project which is deriving its manuscript and pattern language from this project. Lead author is PhilipEskelin, and contributing authors are KyleBrown and NatPryce. JohnVlissides will be writing the foreword.


General Information


Pattern Language Index

Current list of participating patterns. Patterns that are numbered have been "whitepaper-ized" in the manuscript. All other patterns are still being converted to AlexanderForm? and snapped into the structure of the overall language.

Many of these patterns are far newer than what is on wiki, but this is because the manuscript is being updated constantly and is currently in the review process. When it reaches a stable state, I will publish a reference to it ASAP. -Phil

Distribution Patterns

  1. DistributionOfComponents
  2. LayeredComponentFramework
  3. BypassableAbstraction
  4. LocationAbstraction?
  5. ReplicatedObject?
  6. FacadeAtTheDistributionBoundary
  7. ChokePoint?

Connection Patterns
  1. InterfaceDiscovery
  2. ConnectionSingleton
  3. ConnectionFlyweight
  4. ConnectionObserver

Interaction Patterns
  1. AbstractInteractions
  2. ThirdPartyBinding
  3. ComponentGlue
  4. ComponentBus
  5. ConsumerProducer

Behavior Patterns
  1. ContainerIndependence
  2. EnvironmentalAcquisition?
  3. ContainerManagedBehavior?
  4. ComponentManagedBehavior?
  5. DistributedCommand?
  6. InterruptibleCommand
  7. TransactionalCommand? (this will be broken into a few patterns based on making chunks of behavior atomic at both the business and design levels)
  8. CommandConcurrency?

Deployment Patterns Orphans (ideas or proto-patterns that are not part of the language yet) To see all patterns and WikiWikiWeb content related to this project, go up to the top of this page and press on its title.


Are there still people on this wiki active in the component design business? If so, can I ask some of you add a few words to help describe InterfaceBasedProgramming? Last change here was 8 months ago in early 2003 to add a link to InterfaceDiscovery, which was almost deleted a few days ago. What a pity if the like happens again. I would have participated if I am not a learner in these subjects.

There is not enough information on the InterfaceBasedProgramming page for us to help you. Since, I assume, you started that page, I suggest you write what you understand about it on that and let people edit it.

Thank you. I almost thought only Ghosts live on this page. Over the next little while (meaning many weeks) I shall try to write something there, based on my readings. Lets see how much repackaging and overlapping the industry has. I think there are lots. By the way. I do not know whether you have participated this page's creation. I think it looks very impressive, even though I do not understand much said here.

Since it appear to me there are some IT grad students here, maybe those of you in teaching can get the grad students to map over terminologies, jargon, etc, so those of us who read Computerworld can get further understanding of industry trends and reallife applications of concepts.

Another page I have started is ServiceOrientedArchitecture. Again for purposes of seeding relevant IT terms for others to help. Thank you for your note.


See Also: ApplicationPatterns
EditText of this page (last edited January 10, 2005)
FindPage by browsing or searching

This page mirrored in ComponentDesignPatterns as of April 29, 2006