Composite Application Block (CAB) Programming Essentials - Crucial For CAB Performance
Rich Newman posted awesome guides for Composite Application Block (CAB) programming:
Table of Contents: Introduction to CAB/SCSF
Part 3 Introduction to Dependency Injection
Part 4 An Aside on Inversion of Control, Dependency Inversion and Dependency Injection
Part 5 Dependency Injection and the Composite Application Block
Part 6 Constructor Injection in the Composite Application Block
Part 7 Introduction to Services in the Composite Application Block
Part 8 Creating and Using Services in the Composite Application Block
Part 9 The Command Design Pattern
Part 10 Commands in the Composite Application Block
Part 11 Introduction to Events in the Composite Application Block
It is important to understand these core principles. Recently I was involved with a project where CAB was used extensively. Too extensively... The application was actually over-CAB'ed causing performance hit. When we ran the profiler we saw that many functions calls were empty while adding up to execution time. The only solution was redesigning the application and CAB usage.
Lessons Learned:
- Do not over CAB
- Load modules on demand
- Cache static data
Related resources:
- Notes on (extreme) Performance requirements for CAB
- Mobile Client Software Factory (includes includes CABgen and OBgen for NGEN'ing CAB modules)
- How To: load CAB modules on demand
Comments
- Anonymous
October 29, 2007
PingBack from http://msdnrss.thecoderblogs.com/2007/10/29/composite-application-block-cab-programming-essentials-crucial-for-cab-performance/