Udostępnij za pośrednictwem


".NOT" Components

Dr. Dobbs has an interesting article by Frank Wu called .NET Versus .NOT… Frank talks how to spot a great .NET Component.  Customers can clearly tell if a component was designed for the .NET Framework or not.  Component vendors, both inside and outside of your company, should understand what makes a good .NET Component to make developers as productive as possible…

 

As Frank says, there is a time for both kinds of components, but users should understand which they are using.  I’d generalize Frank’s list of what makes a good .NET Component and just say a good component follows the .NET Framework Design guidelines (more). Is anything else needed?   ;-)

 

I’d love to hear some examples on good and bad .NET Components you have had the joy or misfortune to use.

Comments

  • Anonymous
    July 06, 2005
    I've been resisting any and all third party sever controls (Infragistics, etc). I have a strong impression that their developers are in disconnect with reality of what's "kool" and what's appripriate on the web. My question still remains, "Does anyone REALLY use a triple nested data grid control which produces a ton of messy markup?"

    I don't know why it escapes control vendors: to make their controls truly usable, you need to make them LIGHT, not heavy.
  • Anonymous
    July 06, 2005
    I just recently used the pdf control from ceTe (http://www.cete.com) to programmatically fill pdf forms, and its great! The apis are all .net styled, strongly typed (not just passing objects everywhere) and it comes with the xml documentation file.
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    In a previous company we evaluated a control that was a thin .NET wrapper around many native and VB DLLs. Definitely not intended for ClickOnce or the older internet deployment models.

    I do see a lot of controls, however, both from third party companies and individuals that do not following naming conventions, ex. using Java-style conventions. Such vendors should realize that they're only hurting their prospective users by not following the same conventions as the Framework upon which they're built, and that other vendors do. Just look at the BCL class and member names for examples at the very least.
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    Is it just me or is the examples that Frank W. Wu presents rather poor?

    Look at this:

    Base d = new Derived();
    ...
    if(d is Base)
    {
    Base b = d as Base;
    }

    How can 'd is Base' ever be false? Also, as far as I remember the 'is' and 'as' is almost the same operation - the 'is' just returns a boolean by comparing the 'as' result to null. The result is two "slow" casts where only one is needed.

    A much better example would be:

    Base d = new Derived();
    ...
    if(d is Derived)
    {
    Base b = (Derived) b;
    }

    Here only one slow cast is used and when verified that d can be assigned to b then b will be assigned.
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 06, 2005
    The comment has been removed
  • Anonymous
    July 07, 2005
    The comment has been removed
  • Anonymous
    July 14, 2005
    I just got through reading Blink : The Power of Thinking Without Thinking … well, ok I actually listened...
  • Anonymous
    July 15, 2005
    I just got through reading Blink : The Power of Thinking Without Thinking … well, ok I actually listened...
  • Anonymous
    July 15, 2005
    I just got through reading Blink : The Power of Thinking Without Thinking … well, ok I actually listened...
  • Anonymous
    June 12, 2009
    PingBack from http://insomniacuresite.info/story.php?id=3747