TechEd Day 5: .Net Addins, Irresitible forces and musical reflections
November 15, 2007 11:46 pm .Net, Hawkeye, Readify, Visual StudioLast day, last set of sessions:
My day started with meeting a guy from Iceland on the metro who arrived in Australia the night before. He went out for a drink with a friend, got trashed, and lost, took a cab around to search for his hotel until he run out of money, then slept with the some homeless guys next to an ATM machine in some dead end of Barcelona. In the morning he managed to get some cash out of an ATM and was now on the train, going downtown to try to find his hotel. He looked trashed and dirty poor guy but better than what you’d expect after such an experience. I just hope he managed to find his hotel
Now, back at TechEd:
Addins, Extensibility
- Discovery
- Activation
- Isolation
- Lifetime Management
- Sandboxing
- Unloading
- Backward Compatibility
- Forward Compatibility
- Adding new isolation levels
- Loader
- There is no loader so you can’t configure a class that will load your addin.
The Irresistible forces meet the moveable objects Framework
Cool talk but too long to take any notes. Room was as packed as at the keynote as this was the only session in this time slot.
Engineering, architecting, designing and developing reusable frameworks
- Building the right thing
- Peanut Butter vs Skyscrapers
- Peanut Butter Focus: features, results: stability, incremental improvements not great end-to-end scenarios
- Skyscrapers Focus: Scenarios, Results: Excitement, breakthroughs, but beware of leaving the existing customers behind
- Guideline: avoid peanut butter
- Beware of dependencies
- Component vs componentization
- Types of dependencies
- API Deps: A appears in the interface of type B
- Implementation: A used in the impl of B
- Circular deps: forces you to have a single component
- Framework layering
- Core and Extensions
- Dependency management rules
- Inside a component: ok
- Up : no-no
- Cross: take care (MS has a review process for this)
- Taxonomy
- Primitives, Abstractions and Reusable Components
- Abstractions are the hardest to design
- Difficult to evolve, the glue of the framework
- Component oriented design
- Primitive oriented design: (functional)
- Design: where the quality happens
- Do treat simplicity as a feature
Deep Dive .Net Reflection
Roy Osherove, www.ISerializable.com (400 level talk)
Let the just start with the fact that the session started with a guitar on a chair in the middle of the room and a photo of a cat on the power point background
- Symbol support
- [Debuggable(DisableOptimizations)]
- Add details about the line of code
- ISymboleDocumentWriter – used to use as template
- ilGenerator.MarkSequencePoint to mark code points in the document writer
And the session finished with Roy playing the guitar a cool song about Reflection. I recorded it so maybe I should try to upload it on YouTube.
It’s all done. I’m going home. It was great and worth every minute of it. Hopefully I’ll be back next year.