Thursday, January 01, 2004

Very insightful wiki entry on the RESTwiki site: ApisAreComplexStateMachines - RESTwiki: "One subtle but important difference in wiring together software from components with specialized interfaces vs. wiring together components with generic interfaces. Most or all APIs --- sets of specialized interfaces --- encode unique state machines of arbitrary complexity. The basic argument is this: in OOP, for instance, it is widely recognized that objects encapsulate two things: instantaneous (time-dependent) state, and a set of operations which modify that state in specified ways. But that's not the full story: each object interface *implicitly* encodes a state machine; each system of related objects which invoke each other encodes a compound state machine. "

No comments: