Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Understanding the concepts of Software Design Patterns
Rating: 4.0 out of 5(24 ratings)
169 students

Understanding the concepts of Software Design Patterns

Problems, Context and Solutions - the right way of choosing the Design Patterns for pertinent problem in a given context
Created byDr. Kumar B V
Last updated 6/2020
English

What you'll learn

  • The students will be able to understand how to look for problems in software application development, identify context, & choose appropriate & elegant solution
  • The student will be able to understand the problem in the right context, so that he can choose the right solution.
  • The students will be able to create quality application with confidence and rigor.
  • The students will be able to have a solid understanding of 23 different types of Design patterns
  • They will be able to understand the importance and relevance of classification route to understand the subject
  • They will also be able to avoid pitfalls of STUPID coding and learn SOLID principles of coding
  • They will be able to realize the basis of 3 categories, will be able to appreciate how to any application will cover, to different extents, these three division
  • Understand the patterns through UML and platform independent way
  • Understand the concepts through a number of samples, examples, demos, hands on labs, out-of-the box examples etc.
  • Download the individual project, test, modify and have experienced learning

Course content

9 sections53 lectures3h 41m total length
  • Introduction0:47

    This is the generic introduction to the lecture, and this video highlights the topics covered in this section. The agenda for the Section include the following:

    • Overview
    • Importance and Relevance
    • What is Covered? What is Not?
    • Target Audience, and
    • Prerequisites
  • Overview2:45

    This video highlights the importance of Patterns in general, and its impact in the world over. This video indicates the occurrence of patterns in the natural as well as man-made world.

    This video also describes how the concept of design patterns have crept into the field of engineering and technologies, including the Software Engineering. Ultimately, this video describes the abstract definition of the Design Patterns in Software Engineering - 

    Design Pattern is a re-usable form of a software solution (programming code) that is specifically meant to solve a given problem in the best possible way.

  • Importance and Relevance2:37

    It won't be too much of an exaggeration if we say that Software Applications are ruling the world today! Software applications are being used by government, military, businesses, banking and financial institutions, educational organizations, and many more. That being the case, design patterns have even more importance to make sure that these applications are robust, elegant, performant, secure and run smoothly. This way, this video emphasizes the importance of the Software Application development in today's world. 

  • Course Organization1:43

    This video unveils how the course on Understanding Software Design Patterns is organized. This video indicates the number of Sections (Lessons) and number or Lectures (overall), along with how the subject is covered. Importantly, it indicates the type pf platforms, tools etc. that are used to cover the entire subject.

  • What is Covered? What is Not?2:27

    The subject of Software Design Patterns is vast, wide and huge. Not all things can be covered in just one course. This video provides the framework on the topics covered in the overall course, using which, the student can have his/her expectations set.  

  • Target Audience1:19

    The field of Software Engineering and Software Application Development is wide and growing. This video lesson indicates the which of the groups of professionals in software engineering gets benefited by this course.

  • Prerequisites1:57

    This video suggests the profile of the student who can be benefited from this course. This lecture also indicates how and to what extent needs to be the suggested prerequisites, so that the students are aware of the knowledge and experience expected from the audience.

Requirements

  • Software Application developers with a knowledge and experience in the field of modern software application development platforms such as Java, C-sharp, PHP, etc. would benefit from this course.
  • Software application developers intending to learn best practices, guidelines and principles so as to improve and enhance their knowledge and sharpen their software development skills to produce a robust and optimized code.
  • Programming language / Platform independent approach would be pursued to deliver this course to ensure that the conceptual understanding of the subject, and the knowledge can easily be translated into appropriate platform for the intended improvement of the software application.

Description

This course is primarily meant for Software professionals engaged in software application development, The field of Software application development is always mired with a number of problems, and development of elegant, robust and performant software application is always challenging. A developer typically encounters a number of problems during the course of application development, and he/she needs to take care of the same. This situation is usually referred to as Problem in a Context. The Solution is always the Design Pattern. This is true for any application development platform or programming language. 

Programming languages and platforms evolve and disappear, but design patterns lasts for ever. This is the relevance and importance of Design Patterns.

This course will cover the basic problems that are faced by any progressive software application developer professional. It identifies the ad hoc coding practices that usually creeps into the code, and help the developer to identify them and avoid. It also helps the developer to absorb and assimilate six great software application development principles, which the help of which, the developer can nurture his/her coding culture.

The course will then discusses the fundamental aspects of the Design Pattern, based on the Gang of Four (GOF) classification methodology. The course covers all the 23 design patterns under the three fundamental categories - creational, structural and behavioral. It will also help you to identify newer patterns, and help you catalog the same under the right category.

This course is highly illustrative, and uses graphical illustrations to drive-in the concepts of design patterns. This course is also programming language and platform independent, in the sense that, UML graphical language is used to explain how each of the patterns works. For almost all the patterns, simple projects are created using Eclipse IDE, using Java Platform as the typical programming platform to enunciate the solutions.

Beyond this, the course helps you, with a bonus, to uncover different ways of categorization of Design Patterns - Platform based Categorization and Classification based on other schools of thought from individuals and experts in this field. This course is also replete with Project with examples, cheat sheets and quiz questions for checking the knowledge and concept assimilation. 

Now Added: WHO AM I? Quiz Section. There are about 30 quiz questions that will help you to realize your understanding of the subject.

Who this course is for:

  • Any software developer, eager to learn the guidelines, best practices and principles in Software Development exercise to generate solid software application
  • Any software developer, who is facing a variety of challenges in implementing the solution, and unable to choose the right solution for the problem, based on the context.
  • An architect who is in the process of creating robust, elegant and performant software applications