Do you realize that Microsoft has been improving on the user experience (UEx) in their products and .NET languages like C# also were designed with user experience in mind?
Do you know that .NET Framework team spent hundreds of hours in debating on topics as simple as naming conventions and naming style during the design stage?
Should you choose HorizontalAlignment or AlignmentHorizontal as the property name?
Do you know the DateTime.Now property should have been design as a method from the framework design guideline point of view?
Wonder why the Event is not ‘fired’, but it is ‘raised’?
Reading Framework Design Guideline is like having many designers from Microsoft such as: Krzysztof Cwalina, Brad Abrams, Chris Anderson, Erik Christensen, Jason Clark, Joe Duffy, Patrick Dussud, Anders Hejlsberg, Jim Miller, Michael Murray, Lance Olson, Eric Gunnerson, Dare Obasanjo, Steve Starck, Kit George sharing with you their design experience and best practice in Microsoft .NET Framework. They frankly shares the mistakes they made, debating on guidelines, and how they gradually improve the framework and libraries.
The book is organized with recommendations like Do, Do Not, Avoid, Consider. Not to mention, there are many annotations along with these guidelines, make you feel like these expert programmers and software architects are talking and sharing with you on the topics you are reading.
This book covers the fundamentals of framework design and the guidelines for:
- Naming Conventions, namespaces, assembly naming, member and parameter naming
- Type design such as Choosing between Class, Struct, Interface, Abstract Class, Static Class, and Enum
- Member design
- Designing for extensibility which consist of Unsealed classes, protected members, events and callbacks, virtual members and so on
- Exceptions design rules
- Usage guidelines for Arrays, Attributes, Collections, and so on
- Common design patterns applications
After reading Framework Design Guideline, you’ll understand a lot of rationale behind the .NET Framework design. It helps you more familiar with .NET and you can apply many best practices.
Start: 2009-09-20
Finish 2009-09-22