You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Cedric Dumoulin <ce...@s1.com> on 2000/10/03 16:32:05 UTC
Proposal : Coarse Grain Components
Following is a proposal for Coarse Grain Components.
This mail is a short description of the proposal. See more on this
proposal by downloading first implementation and examples on
http://planet.bru.s1.com/cdm/components.zip .
You can also see this proposal as a web page at
http://planet.bru.s1.com/cdm/index.html
--------------------------
Goals
We want to be able to build web pages by assembling components. There
are two kinds of components : coarse grain components and fine grain
components. Coarse grain components are components made of several html
instructions. For example, a component rendering an address or a header
is a coarse grain component. Examples of fine grain components are an
input/output field performing I18n formatting, a popup menu, ... For
now, we only focus on coarse grain components.
Following are the main goals that we want to reach :
- Reusable : it must be possible to write component that are reused in
different pages
- Independent : A component must be, as much as possible, independent
from its "parent" (the entity that use the component).
- Build complex pages (like portal) by assembling components.
- Divide the complexity of the page in smaller components
- Focus on each component independently, without care on other
components.
- Focus on assembling, or layout, components without care on
component content.
- Have consistent web site "look and feel" by providing some common
"layout components", and assembling common components like header, menu,
footer,
- Perform changes on all pages by only changing concerned component.
- For example, change all menus or headers by only changing the
concerned component. No need changes in each page.
- Be able to modify pages composition, or components content from a
central point, like a description file.
Have a library of common components. Don't rewrite them (or copy/paste)
each time.
- Improvement in one component will be propagated to all pages using
this component (not so easy with copy/paste).
- A component can be made by assembling other component.
- Simple to understand and use
- Preferably, component is describe in a JSP file.
- Fit in JSP and Struts philosophy.
See more on this proposal by downloading implementation and examples .
http://planet.bru.s1.com/cdm/components.zip