- testing - code to interfaces that lend themselves to unit testing
- remote procedure call - remote APIs must be call by value
- security - keep JAAS in mind for authentication and access control
- user interaction - design APIs to provide hooks for user feedback, support user cancel requests, or implement the observable pattern to allow UI listeners for view changing events
- monitoring - logging, JMX, timers
- extensibility - OSGi implements a nice plugin architecture
- transactions - ability to rollback multipart operations on failure after partial processing
- cacheing - ability of client to cache data from server in a consistent way
- injection and late binding - I like GUICE for dependency injection, but am lately struggling with marrying the GUICE's preference for data binding at application startup with a UI design that allows runtime definition of injectable parameters.
Tuesday, February 24, 2009
Design for Everything
The more code I write the complexity of what I want to do increases, and the number of design variables increase. I find that I have to design for ...
Subscribe to:
Posts (Atom)