Software Engineering : This category relates to interesting computer related stuff that I am researching or reading about. Most of it is in the area of .NET technologies which is the focus of most of my computer related time at the moment.
Updated: 9/21/2004; 3:34:59 PM.

 








Subscribe to "Software Engineering" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.

Subscribe To
Mark's Weblog

 
 

Saturday, July 12, 2003

OK, now that I have come across Doug Purdy's blog I actually read some of it.  I think his comment about Bob is really excellent and I know my wife would seriously appreciate it if Microsoft could please do this.  One of the problems, of course, is that most of Microsoft technology is actually pretty cool and so even when I finish my work (come on, who am I kidding... I never finish my work) I still come home to play with it.  Microsoft, do not read this as a request to stop doing cool things no matter what my wife would like.


7:00:32 AM   []    comment []

This is a must watch video regardless of whether you know you are interested in the topic or not.  It is just very cool technology and Doug (also see doug here.  Hey.... is that my blog he is pointing to?  I am truly honored... and of course confused???) has explained it succinctly.  (And such nice handwriting too.  It clearly distinguishes Doug as the Einstein of the year.)  The code is available here.

Now that I have told you how great Remoting and RealProxy is I would like to register my complaints:

  1. It should be a standard at Microsoft to never force inheritance!!!
    Dang-it-Larry but would Microsoft please quite forcing me to derive from objects in order to get can do functionality. .NET and C# only provide single inheritance so don't make it no inheritance by forcing me to derive from MarshalByRefObject in order to gain remoting functionality.  IT SHOULD BE A STANDARD AT MICROSOFT TO NEVER FORCE INHERITANCE!!!  You can allow inheritance for the simplest implementation but provide a workaround via which I can get the same functionality via interface inheritance for example.

  2. Creating the ProxyFactory is OK but isn't there some way to override or configure new so that it calls the proxy factory automagically rather than manually calling ProxyFactory.GetProxy()RemotingConfiguration.Configure() can do this so is there some way for me to do this and have ProxyFactory.GetProxy() called when new is used instead?  Hmm.... perhaps it is time to do some decompiling.

One idea for using interception is to enable load balancing or fail-over.  Imagine that a function call is made that the proxy intercepts.  Next, the proxy checks that the requested server is indeed available but if not, it searches (perhaps via UDDI) for another provider of the service and instead forwards the call on to that service.  Hey, how 'bout Microsoft providing this functionality too?

Another way I would really like to use this is for UI customization.  Imagine that a you publish out your application with a WinForm but the customer doesn't like a particular placement of a control or, more common perhaps, the customer wants to add an additional field.  No problem you say.  When you code calls new (see my earlier request to configure new to call ProxyFactory.GetProxy) to instantiate your form and instead the proxy steps in and looks in the configuration file to see if there is an entry that a different derived form be created instead.  Viola!  The customization is made.


12:28:57 AM   []    comment []

© Copyright 2004 Mark Michaelis.



 


July 2003
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Jun   Aug


Recent Posts