| |
|
|
|
Quick Approach to O-O Using C#
Course ID:
2881
Format:
Hands-On, Lecture
Duration:
2 days
|
|
|
|
|
|
| |
| |
Course Prerequisites:
This course is meant for experienced C# developers who are already familiar with C# and who want to design and develop .NET applications using O-O (Object-Oriented) concepts.
|
| |
Who Should Attend:
Participants of this course need to have a solid understanding of the .NET platform and have built enterprise .NET applications using C#. This is not an introduction course and is not meant for occasional programmers.
|
| |
Course Description:
Quick Approach to O-O (Object-Oriented) Using C# introduces Object-Oriented concepts. An in-depth approach to O-O programming takes a considerable amount of time to cover all the concepts and approaches. This course is designed to provide a quick-start for the participant. It does not answer all the questions about O-O nor address all the issues, but it provides a quick and easy way to get started with the concepts and to implement the techniques. This is an advanced course in using O-O concepts with C#. Topics include object-oriented programming, class construction, overloading, serialization, inheritance, abstraction, polymorphism among other software component development methods. The course demonstrates an approach which can be used as a template and starting off point for other C# applications.
|
| |
Course Objectives:
At the end of the course, participants will be able to:
-
Utilize high-level abstractions such as classes, interfaces, namespaces, properties, delegates, events, threads, attributes, generics, and iterators
-
Use techniques that exploit interfaces, inheritance, polymorphism in C# programs
-
Understand how to work with Generic Collections in an O-O environment
-
Understand how to work with the other important collection classes in an O-O environment
-
Understand the motivation and capabilities of events and event delegates
|
| |
Topics:
-
Analyzing the Typical C# Program
- »
String manipulation
- »
Events
- »
Error handling
- »
Code organization
- »
The Spaghetti Model
-
Precepts of O-O Programming in .NET
- »
Defining classes and structures
- »
Local variable inference and implicitly typed local variables
- »
Automatically implemented properties
- »
The Object class
- »
Constructors
- »
Object and collection initializers
- »
Static members: fields, methods and static constructors
- »
Static classes
-
Extending Classes
- »
General principle of inheritance
- »
Polymorphism
- »
Polymorphism
- »
Defining general behavior in the base class
- »
Specializing behavior in the derived classes
- »
Defining Abstract behavior and object interaction
- »
Implementing interfaces
- »
Multiple Inheritance with interfaces
-
Collections in .NET
- »
Arrays, Lists, and Maps in .NET
- »
Iterating through enumerable collections with enumerators
- »
Sorts and Comparisons within collections
- »
IEnumerable and IEnumerator
-
Generics
- »
Generics and parameterization
- »
Type parameters
- »
Generic class declarations and generic struct declarations
- »
Generic interface declarations
- »
Generic algorithms and generic methods
-
Operator Overloading
- »
Overloadable operators
- »
Implicit and explicit operator overloading
- »
Conversion operators
-
Delegate and Event patterns in .NET
- »
The delegate object as an instruction object
- »
The delegate syntax
- »
The MultiCastDelegate
- »
Invoking Delegates
- »
The event as delegate reference
-
Error Handling
- »
Throwing Exceptions
- »
Catching Exceptions
- »
Exception objects
-
Template for a multi-layered application
- »
Custom Business Objects
- »
Designing the Object Model
- »
Designing the Data Access Layer (DAL)
- »
Creating a Class Diagram for the DAL
- »
Designing the Business Logic Layer (BLL)
- »
Designing the Database
- »
Code organization in the application
- »
Coding the classes for the application
- »
Building the presentation layer
-
Summary
- »
Review different approaches
- »
Enhancing the demonstrated approach
|
|
|