PDF:
Course Length:
5
days
Price:
$2,500
Summary
The fundamentals of object oriented development are often assumed in
many training classes. Design Patterns are now a method of
communication between developers and something critical to our
vocabulary. The goal of this course is to equip you with
both. The course uses Visual Basic .NET (other languages are
available with sufficient demand) to cover object oriented development
on the .NET platform.
Who Should Attend?
Students should have basic knowledge of the programming language used
in the class and have used Visual Studio before. General
knowledge of structured programming concepts is required.
Course Outline
Object Oriented Design
- Gathering Requirements
- Analysis
- Conceptual, Logical and Physical Design
- Unified Modeling Language (UML) Primer
Object Oriented Fundamentals
- Defining a Class
- Fields
- Properties
- Methods
- Events
- Accessors and Scope
- Public
- Private
- Friend/Internal
- Protected
- Constructors
- Finalizers
- Static/Shared Properties and Methods
- Inheritance
- Single vs. Multiple Inheritance
- Overloading
- Interfaces
- Implements
- Abstract Classes
- Uses throughout the .NET Framework
- Polymorphism
- Inheritance Based
- Interface Based
- Casting
Building Reusable Components
- Best Practices for Solution/Project Setup
- Using Namespaces
- Documenting a component/Object Browser
- Designing an Object Model
- Error Handling
- Extending Components
Design Patterns
- What are design patterns?
- The Gang of Four
- Pattern categories
- Creational
- Singleton
- Factory Method
- Builder
- Behavioral
- Command
- Strategy
- Chain of Responsibility
- Structural
Architecture & N-Tier Design
- Benefits
- Identifying Commonalities
- Building a Data Abstraction Layer (DAL)
- Building a Business Object Layer
- Service Orientation
- Service Layers (Web Services and WCF)
- Proxy Layers
- OOP in the SOA world
- Working with Business Rules and Validation
- Working with Multiple User Interfaces (Web vs.
Windows)
Techniques for Testing and Debugging
- Building Test Harnesses
- Unit Testing
- Getting the most out of the Visual Studio Debugger
Code Generation
- Tenets of code-generation
- Generating data access layers
- Generating business layers
- Generating service layers
- Additional code-gen topics
Extensibility
- Identifying points of extensibility
- Patterns for extensibility
- Enhancing applications with an extensible architecture
Using Frameworks
- Benefits
- Goals
- The CSLA Framework as an Example