NUS Institute of Systems Science

NICF- Object Oriented Design Patterns

Available dates

This course has no confirmed dates in the future. Subscribe to be notified when it is offered.

About the course

Just as buildings are constructed using proven designs, software too can be built utilising proven solutions to common problems. Reapplying design pattern solutions to new applications reduces the development cost and lends itself to extensibility.

This course teaches participants to solve tough design problems by adapting proven designs called design patterns. By reusing proven solutions on the right problems in the right contexts, you will be able to solve design problems that you may not have been able to do previously.

This course provides an in-depth look into how experts apply design skills. A case study and a programming exercise will provide an opportunity for hands-on design discussions.

Design patterns should be applied whenever a new software application is being architected and designed. They should also be applied when there is a need to ‘refactor’ or improve existing software applications. The course highlights the relevance of design patterns in both contemporary and agile software engineering lifecycles.

This course is part of the Software Engineering & Design Series offered by NUS-ISS.

Key Takeaways

At the end of the course, participants will be able to:

  • Understand the "Gang of Four" design patterns and know when to apply them
  • Understand and apply principles of good object oriented design and heuristics
  • Design systems by reusing design patterns
  • Have hands-on experience in implementing and incorporating patterns in software programs

What Will Be Covered

  • Introduction & Benefits of Design Patterns
  • Design Patterns in Software Development Process
  • Principles of Object Oriented Design
  • Discussion on Gang of Four Design Patterns
  • Refactoring to Patterns
  • Case Study on Implementation of Design Patterns

Who should attend

  • Software Architects
  • Software Designers
  • Software Analysts
  • Software Developers


Participants must understand OO modelling (class and sequence diagrams) and be able to read simple code (Java, C# or C++).

Trust the experts

Heng Boon Kui

Boon Kui is passionate with processes and methods in development of software systems. His current teaching interests in ISS include Analysis and Design as well as Design Patterns for object-oriented software systems. His current research interests centre on the formalization of user-specified dec...


Swarnalatha Ashok

Swarna teaches object oriented technology, web services and Java technology at ISS. Having been with leading manufacturing and consulting companies like D.C.M Data Products and Tata Consultancy Services in India, she has extensive experience in networking and systems software development. At Info...


Course reviews