[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