Component Design Patterns
A ChiliPLoP 2000 Hot TopicAuthor: Philip Eskelin
IntroductionMany projects today use a component-based approach to developing software. Component-Based Development (CBD) stresses language and platform interoperability, and separation of interface from implementation. Existing and newly constructed components are being deployed to clients and servers to build flexible, reusable solutions.
Component Design Patterns: A Pattern Language for Component-Based Development is a book currently being written, authored by Philip Eskelin, which will be published by Addison-Wesley Longman in 2000. The book serves as a snapshot of an ongoing pattern language project by Philip Eskelin, with Kyle Brown and Nat Pryce on the Wiki Wiki Web. The purpose of the language is to write down some of the recurring themes and best practices in CBD that lead to winning software projects. And the purpose of doing a ChiliPLoP Hot Topic is to help evolve the language in a community-driven manner, and to get together with a group of capable and interested folks to discuss component-based development in general.
Topic OverviewIn our work as software developers, we struggle with problems that we imagine must have known solutions. For some of these problems, we find answers in books containing algorithms or sample code, in reused code and components, or from discussions with fellow colleagues.
For other problems, such as those involving design, organizational structure, change management, and development practices, the answers are typically much harder to find. Many of the answers are not written down, but rather, if we are lucky, passed on from person to person, or rediscovered by each individual through trial and error.
Regardless of the platform or programming language, developers in different situations tend to come up with solutions to some of those problems that have very similar themes. Writing these experiences down so others can benefit from them is what patterns are all about.
Nevertheless, we are after beauty, not expert knowledge . Our focus is not upon publishing a catalogue of principles and best practices. Moreover, its not programming for dummies. Instead, were publishing a snapshot of a project that is attempting to document several interrelated patterns centered on component-based development.
Because of these interrelationships, weve structured the patterns in the form of a pattern language that we hope, as a whole, helps software developers increase the beauty and wholeness of the software they build.
Based on the pervasive nature of component technology and a pattern language's ability to effectively document recurring themes, the focus of this Hot Topic is to explore pattterns in component-based development and make progress in evolving the work that has been currently done in the Component Design Patterns project.
The patterns that will be used for the Hot Topic will be a core subset of the overall language. The intention is to limit the amount of material that participants are required to read for preparation. We will explore the most mature parts of the language as full content, and will leave the rest of the patterns as "stubs". We hope to get good feedback on existing patterns, that focus topics uncover new patterns, to define or invalidate existing "stubs", and that more positions are submitted due to less burdensome reading requirements.
Topic PlanThe following proposed will serve as the basis for establishing group consensus on a plan that will best fit the group:
Participant InformationWe hope to attract 4-6 highly motivated and experienced pattern users, pattern writers, and software developers to participate in this hot topic. Specifically, people who are experienced developing solutions in C/C++, Java, JavaBeans, EJB, XML, CORBA, COM/ActiveX, Visual Basic, and other technologies that lend themselves to a component-based approach to development are invited to submit requests to participate.
Submit a request to participate by e-mail to the workshop organizer on or before Friday, March 3rd, 2000. You may submit ASCII text, HTML, or a URL where we can find your submission. Your proposal should be one to three pages long and should include things like:
Important DatesThe following dates are important in the days leading to ChiliPLoP'00:
Contact Information: firstname.lastname@example.org
Note: PLoP is a trademark of The Hillside Group, Inc.