Software design patterns are reusable solutions that solve the design challenges software developers face over and over again in their career.
This Software Design Patterns and Architecture course offers a comprehensive introduction to software design principles and patterns, code smells, refactoring.
The course will help participants understand good object-oriented design through the medium of highly useful design patterns and help them for doing clean design and code.
After completing this course, you will be able to:
2.What is software design?
3.What is software architecture? What are roles of a software architect?
4.Is design dead?
5.Code smells and refactoring techniques.
6.Design Patterns:
a.Creational Patterns
i)Abstract Factory
ii)Builder
iii)Factory Method
iv)Prototype
v)Singleton
b.Structural Patterns
i)Adapter
ii)Bridge
iii)Composite
iv)Decorator
v)Façade
vi)Flyweight
vii)Proxy
c.Behavioral Patterns
i)Chain of Responsibility
ii)Command
iii)Iterator
iv)Mediator
v)Memento
vi)Observer
vii)State
viii)Strategy
ix)Template Method
x)Null object pattern
7.Design Principles
a. Single Responsibility Principle (SRP)
b. Open Closed Principle (OCP)
c. Liskov Substitution Principle (LSP)
d. Interface Segregation Principle (ISP)
e. Dependency Inversion Principle (DIP)
f. DRY–Don’t Repeat yourself
g. Once and only once
h.Tell Don’t Ask
i.The Law of Demeter
j. Inversion of Control
k. Dependency Injection
Module | Software Design and Architecture: Principles, Patterns and Practices | 32 Hrs |