Re: Client/Service relationships & Flow of Requirements.



On Mon, 29 Jan 2007 20:29:33 +0000, H. S. Lahman wrote:


I agree, but I would take this much further. Neither the client NOR the
service should have any knowledge of each other's implementations. Note
that in the blog I referred to two-way interfaces. When a message is sent
outside a subsystem, the subsystem implementation invokes an output
interface. That interface remains fixed no matter what context the
subsystem is used in. That interface (think: GoF Facade) invokes the
input interface of the target subsystem. (Any "glue" code to resolve
syntactic mismatches in reuse situations goes in the the implementation of
the output interface.) Thus the implementations are completely decoupled.

Ah. The third rereading got through to me! Ah me, I'm slow today.

Basically there are two patterns to that get reused every day in this
domain. What you are describing here is this one...

Two peer "subsystems" as you call them need to communicate, which is the
client, which is the service?

Standard Answer: Neither, both are services of a controller client that
wires them together.

The other standard pattern. is service needs to return information to
client, does this mean the service depends on the client?

Standard Answer: No, both depend on an abstract interface, and the client
(speaking Java now) extends the abstract interface.

--


John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@xxxxxxxxxx
New Zealand


.


Quantcast