On 16 Feb 2013, at 19:39, jmis wrote:
> I'm trying to understand the role of the SniperLauncher better. It's in a
> weird spot between the user interface and the rest of the application.
> It's significant in the launching of the application as it's created in
> the integration layer (the main function). Is the SniperLauncher's role to
> provide a well-defined way of manipulating the domain?
It's an insulating layer between the UI and the Auction implementation. The interface it implements allows the UI not to know about how auctions are actually joined for an item, and the SniperLauncher doesn't need to know anything about the clients that call it. Our original plan, before we ran out of time, was to convert to a web UI and show how code such as the SniperLauncher would not have to change.
> Along the same lines, how would one add further SniperLauncher-like
> functionality such as cancelling an auction? Would an approach be to have
> the SniperLauncher inject a well-defined way of updating the sniper or
> auction? Wouldn't then the SniperLauncher have a similar role as the main
> function?
The SniperLauncher registers a new AuctionSniper with a SniperCollection. In our case, that's in the UI, so the UI knows how to find the sniper for an item and talk to it. We can't tell from inside the SniperLauncher, but there could be other collectors that listen for new auctions.
S.
Steve Freeman
Winner of the Agile Alliance Gordon Pask award 2006
Book:
http://www.growing-object-oriented-software.com
+44 797 179 4105
Twitter: @sf105
Higher Order Logic Limited
Registered office. 2 Church Street, Burnham, Bucks, SL1 7HZ.
Company registered in England & Wales. Number 7522677