Skip to content

malk271828/GoFPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This repository include a basic implementation and explanation of classic GoF (abbreviation of Gang of Four) design patterns. Although GoF design patterns are frequently appeared in designing software or architectures, they include a lot of controversial points from a view of its applicability. For example, one of these patterns is too fundamental to define its concept as a versatile pattern, and another one can be used only for quite specific problems.

Common advantages and disadvantages of applying design patterns to software development are listed in this article

  • Design patterns use object-oriented concepts like decomposition, inheritance and polymorphism.
  • Design patterns make your lives easy as a programmer as these make possible you to get benefit from the experience and knowledge of your predecessors those have worked on the same type of project .Thus make it easy for further development of the applications.
  • Appropriate design patterns used in development of applications make development fast and easily documented.
  • The benefit of design patterns lies in reusability and extensibility of the already developed applications.
  • Design patterns are more sophisticated and advance approaches than basic data structures such as arrays, linked lists, and binary trees.
  • All design patterns use self-descriptive naming conventions and a design pattern based name of program objects captures a basic idea about the working and use of that particular object.
  • Design pattern utilize descriptive words such as proxy, adapter, iterator, visitor, and command in the name of the objects.
  • Design patterns improve software development process.

Prerequisites

The readers of this article should learn the following contents in advance:

Contents Necessity Reference
SOLID software design principle should Reddy 20111
Object Oriented Analysis and Design (OOAD) should
UML 2.0 must
Coding Experience with C++/Java/JavaScript should

Typographical conventions

The following typographical conventions are used in this article:

Symbolic representation Description
[URL link] Reference to ensure English correctness in both grammatical and idiomatic usage.
Italic style A title of published book

Creational patterns

Footnotes

  1. Reddy, Martin. API Design for C++. Elsevier, 2011.

About

Classic design patterns based on Gang of Fours

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages