Design Patterns: Presented By: Pankaj Sethia
Design Patterns: Presented By: Pankaj Sethia
Presented By:
Pankaj Sethia
Design Patterns
General reusable solution to a commonly occurring problem
within a given context in software design.
string sauce_;
};
string topping_;
};
Example Cont.
class HawaiianPizzaBuilder : public class SpicyPizzaBuilder : public
PizzaBuilder { PizzaBuilder {
public: public:
Singleton
static Instance()
SingletonOperation()
GetSingletonData() return uniqueinstance
static uniqueinstance
singletonData
Example
bool Singleton::instanceFlag = false;
cass Singleton
Singleton* Singleton::single = NULL;
{
Singleton* Singleton::getInstance()
private:
{
static bool instanceFlag;
if(! instanceFlag)
static Singleton *single;
{
Singleton()
single = new Singleton();
{
instanceFlag = true;
//private constructor
return single;
}
}
public:
else
static Singleton* getInstance();
{
void method();
return single;
~Singleton()
}
{
}
instanceFlag = false;
void Singleton::method()
}
{
};
cout << "Method of the singleton class" << endl;
}
main
int main()
{
Singleton *sc1,*sc2;
sc1 = Singleton::getInstance();
sc1->method();
sc2 = Singleton::getInstance();
sc2->method();
return 0;
}
Where can we use these patterns in
OSAL
Singleton pattern
Builder pattern
Any Question ???