| | |
|
.NET Framework Fundamentals
Course description:
This course brings the experienced developer up to speed on the .NET platform. The fundamentals of .NET are covered from top to bottom, including component-based application development, desktop application development, and Web development. This course covers the features of .NET up to and including the 3.5 release of the framework.
Who Should Attend
Developers who are new to the .NET Framework, or anyone who wants a deeper understanding of the Common Language Runtime (CLR) and the major components of the .NET Framework should attend. Experienced .NET developers who need to learn versions 2.0 and 3.5 of the .NET Framework should also attend.
|
|
|
Course outline:
Day 1
|
| |
.NET Platform Architecture |
- Fundamental architecture of the .NET platform
- Goals and history of .NET
- Common Language Runtime (CLR)
- Just-in-time (JIT) compilation
- Garbage collection
|
|
| |
Managed Types |
- Fundamental constructs: classes, fields, property declarations
- Field and class initialization
- Namespace mechanics
- Intra- and inter- assembly type scoping
- Reflection and attributes
- Common types in the .NET Framework Class Library
|
|
| |
Abstractions |
- Managed type system in the CLR
- Interfaces and base classes, polymorphism
- Concrete versus abstract classes
- Type navigation and compatibility operations
- Static and dynamic method binding
- Generics in 2.0
|
|
Day 2
|
| |
Memory and Resource Management |
- Difference between objects and values
- Boxing and unboxing
- Garbage collection and finalization
- Disposable object pattern
|
|
| |
Methods and Events |
- Parameter passing mechanics
- Method-level abstraction using delegates
- Delegate invocation, chaining, and event declaration
- Custom event subscription
- Implicit delegate construction and anonymous delegates
|
|
| |
Win32 and COM Interop |
- Interoperability between managed and unmanaged code
- Platform invocation services (P/Invoke)
- COM interop
- Parameter marshaling, type navigation, memory management
|
|
Day 3
|
| |
Assembly Resolution and Versioning |
- Assemblies as scoping boundaries and unit of versioning
- Assembly resolution in the CLR
- Strongly named assemblies
- Version-aware loading
|
|
| |
Deployment |
- Building MSI installers
- Leveraging "no touch" deployment
- ClickOnce deployment
- Code access security (CAS)
|
|
| |
Exception Handling |
- How errors are managed
- Generating exceptions, stack traversal
- Termination handling (try/finally)
- Exception handling (try/catch)
- Unhandled exceptions
|
|
Day 4
|
| |
Multithreading |
- Need for multiple threads
- Asynchronous programming in the CLR
- Manual thread creation
- Using the CLR threadpool
- Asynchronous I/O
- Thread synchronization using monitors
|
|
| |
I/O |
- Stream-based I/O
- Object serialization and implementing ISerializable
- XML parsing, emitting, and querying
- Data access with ADO.NET
|
|
| |
Distributed Programming |
- Binary communication with WCF
- Enterprise Services (COM+)
- XML communication with WCF Web Services
- Building Web applications with ASP.NET
|
|
|
|
|
| | |