Tuesday, November 4, 2014

Software Design/Architecture



1. Quick overview on object oriented programming and concept.

2. What is software design?

3. What is software architecture? What are roles of a software architecture?

4. Who needs an architect?

5. Is design dead?

6. Refactoring – What, Why, When & How?

7. What is code smell and types of code smell?

8. Unit Testing and Test Driven Development overview

9. 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. Interpreter

iv. Iterator

v. Mediator

vi. Memento

vii. Observer

viii. State

ix. Strategy

x. Template Method

xi. Visitor

10. 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

No comments:

Post a Comment