Design Patterns form an advanced area in object oriented design and architecture. Design patterns focus on solutions to problems commonly found in design of object oriented programs. The first part of the course examines the fundamentals of the core patterns: creational, behavioral, structural, and system patterns. The second part of the course examines patterns of enterprise applications. Enterprise applications handle display, business operation, and database interaction of large amount of often complex data. Examples include financial systems, reservation systems, supply chain system, and many others that run modern business. Enterprise applications are structured in layers. Discussions of layers of enterprise architecture is followed by design pattern that are used in each layer.
At the end of this course the student will be able to:
Design and implement Behavioral, Structural, Creational and System Design Patterns.
Implement core design patterns in a programming language such as Java, C#, C++.
Design and implement Enterprise Patterns related to Presentation, Domain (Business), Persistence Layers.
Implement Enterprise Design Patterns in a programming language such as Java or C#.