Component Design Patterns Problem

[ComponentDesignPatterns | ComponentDesignPatternsForces]

There is no problem. This is the panacea of all the world's cures, and everybody on this planet has been programmed to understand it. ;-) -- PhilipEskelin

Also known as: TheEmperorsNewComponents?

Of course, YourMileageMayVary. -- WillSargent

How about renaming the language to UberPatterns?? ;-) -- PhilipEskelin

Dependencies and usability seem to be the biggest issues to me. I like the TransferVector strategy ShlaerMellorMethod employed in domain interactions to minimize dependencies between components although frequently the protocol must be specialized. From the usability perspective, there are issues with a component interface becoming a SwissArmyKnife and care must be taken to avoid this situation. -- JohnHarby

I find dependency and usability interesting because of its relationship with everyday life in our physical world. In the US we structured our government as a federation of states that have counties, towns, cities, townships, etc. that divide up land based on certain parameters. At the federal level we distribute and delegate government out to each of these levels. Policy is legislated for political, economic, social, and psychological contexts. Architects design neighborhoods, buildings, rooms, and other abstractions as a way to break up how we behave in this system, and at any given point in time we have a degree of dependency and usability on our surroundings. It only seems natural that we as programmers think about our software problems along similar terms.

But I don't think little languages should be avoided. In this world, little languages seem to exist in places where it is appropriate, so I tend to think this is the case with software as well. When I sit on an airplane and listen to ground control communicate with the pilots, they're speaking their own LittleLanguage that goes something like, "American 1120 right at double golf down to one bravo." Their language has been specifically designed to make it easier to keep planes from crashing into each other and allows for efficient flow in and out of the airport. It's defined in terms of English but spoken very rapidly to pilots from many different cultures and airlines and types of airplanes. I think the the same rings true with software. If little languages happen at the right level of abstraction, I think they're OK. For example, they have an important role in interaction patterns like ComponentBus and ComponentGlue.

Can you give me an example of a LittleLanguage coming from interface interactions?

-- PhilipEskelin
