Software design patterns are reusable solutions that solve the design challenges software developers face over and over again in their career. Rather than reinventing the wheel, learn how to ensure re-usability of design will make your software more reliable and flexible to change.
This Software Design Patterns and Architecture workshop offers a comprehensive introduction to software design principles and patterns, code smells, refactoring and unit testing code.
The workshop 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 workshop, you will be able to:
- Improve logical design thinking using design patterns.
- Recognize that software engineering is more that writing code.
- Understand the meaning of clean code.
- Implement programming solutions using multiple approaches and recognize tradeoffs.
- Use object-oriented concepts including interfaces and abstract classes for solving complex design issues.
- Understand what are good code and what are bad code.
- Understand what are good design and what are bad design
- Write unit testing code.
- Recognize the code smell and find the appropriate refactoring solution.
- Understand the design principles and implement them in writing object-oriented code.
Who is this workshop for?
- Anyone who has minimum two years of experience on writing object-oriented code.
- Basic knowledge in C# is mandatory, since most of the sample code has been developed.
Every participant must bring his/her laptop.
Number of seats/participants: Twenty four (24).
8,000 BDT 6,000 BDT* + 15% VAT
*After 25% discount
How to enroll:
- Apply here: Send your basic information.
- After getting your information, we will communicate with you and suggest you whether you should register or not.
- Pay and register to attend.
Outline of this workshop:
- Quick overview on object oriented programming and concept.
- What is software design?
- What is software architecture? What are roles of a software architect?
- Is design dead?
- Code smells and refactoring techniques.
- Unit Testing, Mocking & TDD.
- Design Patterns:
- Creational Patterns
- Simple Factory
- Factory Method
- Structural Patterns
- Behavioral Patterns
- Chain of Responsibility
- Template Method
- Null Object Pattern
- Creational Patterns
- Design Principles
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- DRY – Don’t Repeat yourself
- Once and only once
- Tell Don’t Ask
- The Law of Demeter
- Inversion of Control
- Dependency Injection
Tools: Language: C#, IDE: Visual Studio 2012/Visual Studio 2013/Visual Studio 2015
Trainer: Zohirul Alam Tiemoon (CEO, Nerd Castle Limited)
Assistant Trainer: Tayabur Rahman Masud (Software Engineer, Nerd Castle Limited)