[Previous] [TOC] [Next]

Clients

Now for the final part of the puzzle. What is the best way for our client applications to use action objects? Basically, the client should open the appropriate action object, retrieve the required recordset, and then close down that action object immediately. When the data is ready to be returned for update, the action object will be instantiated again, the relevant Update method will be called, and then the action object will be closed down again. Here is an example of a client calling an action object to retrieve the list of current employees:

Dim ocaEmployeeMaintenance   As caEmployeeMaintenance
  Dim ocRecordset              As cRecordset

  Set ocRecordset = New cRecordset
  Set ocaEmployeeMaintenance = _
      New caEmployeeMaintenance ' Open Employee action object

  ocRecordset.Serialize = _
      caEmployeeMaintenance.GetCurrentEmployees.Serialize
  Set ocaEmployeeMaintenance = Nothing

  ' Do stuff with local ocRecordset in user interface
  ' ...

  Set ocaEmployeeMaintenance = New caEmployeeMaintenance
  ocaEmployeeMaintenace.UpdateEmployees ocRecordset
  Set ocaEmployeeMaintenance = Nothing

This code could be in a Visual Basic form, in an Active Server Page, or even in an ActiveX document-the important thing is that the client reference to the action object is as quick as possible. The recordset maintains the data locally until the time comes to the send the data back to the action object.

[Previous] [TOC] [Next]