Objective Oriented Programming and Design has taken a center stage in software development from last few years. Languages like Java, C# and even C++ thrive on these concepts and use them as an essential tool for their architecture and design. Cognixia’s course starts with basic OOP concepts like inheritance, polymorphism and encapsulation and then moves on to software modeling. Software modeling is a method to gather requirements and analyzing it to arrive at the design. A use-case approach is used for requirement gathering and documentation and it is discussed in great detail in the course.
Object oriented analysis and design has many different parts like class diagrams and their relationships, sequence and collaboration diagrams, state machine diagrams, etc and the course covers each of these in detail. Some useful design principles like High Cohesion and Loose Couple are also covered. The course also talks about design patterns like inversion of control and dependency injection.