Doorgaan naar hoofdcontent

MSDN Gold nugget: Design Guidelines for Class Library Developers

The .NET Framework's managed environment allows developers to improve their programming model to support a wide range of functionality. The goal of the .NET Framework design guidelines is to encourage consistency and predictability in public APIs while enabling Web and cross-language integration. It is strongly recommended that you follow these design guidelines when developing classes and components that extend the .NET Framework. Inconsistent design adversely affects developer productivity. Development tools and add-ins can turn some of these guidelines into de facto prescriptive rules, and reduce the value of nonconforming components. Nonconforming components will function, but not to their full potential.

These guidelines are intended to help class library designers understand the trade-offs between different solutions. There might be situations where good library design requires that you violate these design guidelines. Such cases should be rare, and it is important that you provide a solid justification for your decision. The section provides naming and usage guidelines for types in the .NET Framework as well as guidelines for implementing common design patterns.

MSDN Gold nugget: Design Guidelines for Class Library Developers

Reacties

Populaire posts van deze blog

A Software Developer's Reading Plan

This list describes the reading program a software developer needs to work through to achieve full professional standing. The plan described is a generic baseline plan for a software professional who wants to focus on development. Introductory Level To move beyond "introductory" level, a developer must read the following books: Adams, James L. Conceptual Blockbusting: A Guide to Better Ideas, 4th ed. Cambridge, MA: Perseus Publishing, 2001. Bentley, Jon. Programming Pearls, 2d ed. Reading, MA: Addison-Wesley, 2000. Glass, Robert L. Facts and Fallacies of software Engineering. Boston, MA: Addison-Wesley, 2003. McConnell, Steve. Software Project Survival Guide. Redmond, WA: Microsoft Press, 1998. McConnell, Steve. Code Complete, 2d ed. Redmond, WA: Microsoft Press, 2004. Practitioner Level To achieve "intermediate" status, a programmer needs to read the following additional materials: Berczuk, Stephen P. and Brad Appleton. Software Configuration Manag

Exploring the Domain-Specific Language Tools

I'm currently familiarize myself with the Microsoft's concept of Domain-Specific Languages. And I must say I'm having a hard time collecting usefull information on the concept. It seems that beside the content in the MSDN Library and a rare presentation on Channel 9 there is not much information out there on the web. Well let's see where the subject takes me. Anyway, this subject should keep be busy this week, before I plunge down in the world of Cordys for 4 weeks.

Going through the numbers: what kind of scope can your agile delivery platform handle anyway?

Today a manager asked what kind off scope and effort the Accelerated Delivery Platform could handle on a project expressed in function points. I find this a very odd question and I have always been resilient to function point analyses as an estimation technique which tries to best guess the end state of a software solution based on and determine by the number of interfaces, screens, reports etcetera. Often this happens upfront at a point in time there is only a vague idea for a perceived solution for specific problem which still needs to be analyzed in detail. Very old school thinking if you would ask me, which is not helpful for providing agile ICT support for business development and transformation. Asking for the ADP platform’s project delivery capabilities expressed in scope and effort is a weird measure for suitability for a software development platform. Given infinite time any scope and effort can be handled by any approach. But then again every project is always about time and