Ive been reading Liang’s Introduction to Java Programming for a couple of weeks, and that question came up when the author said “There is no need for developers to create, and for users to install, major new software versions.”.
How does software update work? For example, patches for games, new version of products, and that kind of things. In the book, there’s an example that, as long as you keep an interface of a class the same, you dont need to do any changes in any of the classes that are dependent on the one you changed. That’s fine, but still a little abstract (for example, how do I create an update patch with only that class?).
Im also interested in books on the subject.
Thank you.
Have a look at the book
Practical API Design – Confessions of a Java Framework Architect (Jaroslav Tulach, Apress, 2008)
I think it covers most of the aspects you are asking about.
For the topic on shipping new software versions or updates, have a look at the technology Java Web Start for example.
Shipping an update to a web application could be considered implicit in the face of the users as the changes made on a centralized server1 are delivered by the web browser itself.
1 or a set of servers