|
|
Part I: C# Language and Syntax
|
|
|
1: Overview
1.1 Background to C#
1.2 C# as an Object-Oriented Language
1.3 C# Support for Interface Programming
1.4 Comparing C# with other Languages
|
|
|
2: C# Basics
2.1 Contents of a C# program
2.2 My first Program: Hello, Cosmos
2.3 Value types and object types
2.4 Basic Data Types
2.5 Array Types
2.6 Structs
2.7 Boxing and unboxing
2.8 Classes
|
|
|
3: The Class Concept
3.1 Class Declarations
3.2 Constructors and Destructors
3.3 Class Members
3.4 Fields
3.5 Methods
3.6 Properties
3.7 Operators
|
|
|
4: Classes and Objects
4.1 Creating Flexible and Reusable Code
4.2 Implementing Inheritance
4.3 Virtual Functions
4.4 Abstract Classes
4.5 Interfaces
4.6 Implementing Aggregation and Composition
4.7 Sealed Classes
|
|
|
5: Extending Classes
5.1 Delegates
5.2 Events
5.3 Attributes
|
|
|
Part II: Introduction Design Patterns
|
|
6: Introduction and Classification
6.1 White Box and Black Box Reuse
6.2 Object Lifecycle Model
6.3 Objectification and Objectifiers
|
|
|
7: Creational Patterns
7.1 Singleton
7.2 Factory Method
7.3 Prototype
|
|
|
8: Structural Patterns
8.1 Composite
8.2 Proxy
8.3 Adapter
|
|
|
9: Behavioral Patterns
9.1 Strategy
9.2 Template method
9.3 State pattern
|
|
|
Part III: C# and Interfaces
|
|
|
10: Introduction to Interfaces and Interface-based Programming
10.1 Introduction and Objectives
10.2 What is an Interface?
10.3 Discovering and documenting Interfaces
10.4 Examples of Interfaces
|
|
|
11: Implementing Interfaces
11.1 Introduction and Objectives
11.2 Interface Declarations
11.3 Interface Members
11.4 Interface Implementation
11.5 Interfaces, Inheritance and Delegation
11.6 Combining Inheritance and Delegation: The Roles Patterns
|
|
|
Part IV : Advanced Design Patterns
|
|
|
12: Creational Patterns
12.1 Abstract Factory
12.2 Builder
12.3 Combining Factories and other Patterns
|
|
|
13 Structural Patterns
13.1 Bridge
13.2 Decorator
13.3 Facade
|
|
|
14 Behavioral Patterns
14.1 Mediator
14.2 Observer pattern
14.3 Visitor
14.4 Propagator pattern
|
|
|
15: Presentation-Abstraction-Control (PAC) Pattern: An Architectural Pattern
15.1 Introduction and Objectives
15.2 What is PAC?
15.3 Why PAC is needed for Enterprise Modeling
15.4 Preparing for PAC
15.5 PAC Components
15.6 Creating PAC Systems
15.7 PAC and the Power of Web Applications
|
|
|
Part V: Applications in C#
|
|
|
16: An Overview of Application Areas
16.1 Introduction and Objectives
16.2 Core, Supporting and Management Processes
16.3 System Decomposition
16.4 Mapping Systems to .Net
16.5 Requirements and Use Cases
16.6 Integrating Use Cases with .Net Applications
|
|
|
17: Order Processing System (OPS)
17.1 Introduction and Objectives
17.2 Order Registration and Validation
17.3 Allocation of Resources
17.4 Order Monitoring and Tracking
17.5 Analysis and Design of OPS
17.6 Implementation under .Net and C#
17.7 Generalizations and Extensions
|
|
|
18: Customer Relationship Management (CRM)
18.1 Introduction and Objectives
18.2 Creating a Customer Database
18.3 Customer Relationship Needs
18.4 Analysis and Design of CRM
18.5 Implementation under .Net and C#
18.6 Generalizations and Extensions
|
|
|
19: Graphics and Visualization Applications (VIS)
19.1 Introduction and Objectives
19.2 Core Processes and Subsystems
19.3 Creating an Architecture
19.4 Analysis and Design of VIS
19.5 Implementation under .Net and C#
19.6 Generalizations and Extensions
|
|
|
20: Management and Executive Information Systems
20.1 Introduction and Objectives
20.2 EIS and MIS System as Transaction Systems
20.3 Core Process and Subsystems
20.4 The Role of Visualization and Reporting
20.5 Analysis and Design of OPS
20.6 Implementation under .Net and C#
20.7 Generalizations and Extensions
20.8 Integration with Office Applications
|
|
|
21: Option Pricing and Risk Management
21.1 Introduction and Objectives
21.2 Introduction to Option Modeling
21.3 Modeling Options as C# Classes
21.4 Methods and Interfaces
21.5 Creating MIS Applications
21.6 Integration with Excel
21.7 Web Integration
21.8 Conclusions and Extensions
|
|
|
Appendices
- An Introduction to UML
- An Introduction to Domain Categories
- Comparing C# and Java
- Comparing C# and C++
|