Jean-Sebastien Delfino wrote:
Raymond Feng wrote:
I think Simon's proposal should work as follows instead of passing the properties to the createInvoker() call.

public interface Invoker {
   InvokerProperties getProperties(); // Contribute properties
}

public class InvokerProperties {
   public void setAllowsPassByReference(boolean allowsPBR) {
         ....
   }
   public boolean allowsPassByReference() {
       ....
   }

   // Add more properties without impacting the Invoker interface
   public AnotherPropertyType getAnotherProperty() {
          ...
   }

   public void setAnotherProperty(AnotherPropertyType anotherProp) {
        ...
   }
}


I'm going to repeat what I said earlier in this thread, but in context now with your code example: This makes extensions depend on a Tuscany implementation class, InvokerProperties.

The getProperties() method will look like {
  return new InvokerProperties();
}

A very slippery slope IMHO.
>
I agree that this is not desirable.  I think the original version that
I proposed has a cleaner separation between Tuscany code and extension code,
even though it has a slightly larger set of changes.  See [1] for an
explanation of te design rationale behind my proposal.

  Simon

[1] http://www.mail-archive.com/[email protected]/msg28292.html


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to