In my design, using MVC in GUI. Controller connects to Abstract Factory
pattern which returns ConnectionFactory (Local or Remote). LocalConnection class connects to DataAdapter class which connects to Data class. RemoteConnection class connects to RMI using proxy and adapter pattern.
I didn't finish yet from coding but I think the design is alright.
Max,
I read your book. A beautiful design there. Although Nobody lost points for not implementing ClientID, I will use ClientID in my design, that's why I used Abstract Factory, proxy and adapter patterns. I think you know many members takling about unlock() method documentaiton, so it is a chance to learn something here.
Regards