[DUG] Reference counting

Kyley Harris kyleyharris at gmail.com
Thu Nov 24 23:33:32 NZDT 2005


These are all very interesting methods of transferring data between  
objects/threads/applications, but
hardly provided very good scalability.

How many people consider the following things when designing their  
applications;

1/ The fact that the applications may not reside on the same machine.
2/ The applications wanting the information may not all be windows.

Options.
A/ Observer patterns. Very easy oo pattern to implement internal  
application one-one/one-many
   notifications. Build this into an object based notification rather than  
integers and records
   and you then have unlimited scalability on what a message can tell a  
listener.
B/ TCP for inter-app communications (Accepting that localhost is  
coincidence, not a design). Easy to take an observer pattern and map it to  
a TCP construct.

ie
   InternalMessageBroadcast-> InternalListener

OR

   InternalMessageBroadcast->
      InternalTCPListener->
                   Convert to XML->
                      SEND OVER LAN/NET/LOCALHOST
                   <-XML to Other APP object struct
      <-OtherAppTCPReceiver
    <-OtherAppInternalBroadcast
   OtherAppInternalListener


makes it very easy to send messages to anything wanting to hear, all using  
one very basic OO-Pattern,
implemented in a couple of different ways, and chained together.

On Thu, 24 Nov 2005 23:19:03 +1300, Ross Levis <ross at stationplaylist.com>  
wrote:

> myOffice Email MessageI use a Memory Sharing component called  
> fisSharedMemory which works very well.  You can specify a memory block  
> size and use short strings (up to 255 chars).  I'm using it with a  
> Record structure with many different variables.
>
> I use one variable in the record which is being polled in a Timer to  
> test if new values have been updated by the other application.  The  
> variable is then reset after being read.  It works very well and very  
> fast.
>
> http://sodev.webzdarma.cz/show.php?page=Others&la=en&kateg=Systems
> (very slow website, but some very interesting componets)
>
> Regards,


More information about the Delphi mailing list