-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathdesignPatternAbstractFactory.py
More file actions
45 lines (37 loc) · 1.01 KB
/
designPatternAbstractFactory.py
File metadata and controls
45 lines (37 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class Shop(object):
def __init__(self, item_factory = None):
self.item_factory=item_factory
def get_item_description(self):
item=self.item_factory.get_item()
print "Item model ",self.item_factory.model()
print "Item name ",item.name()
print "Item color ",self.item_factory.color()
class Shoes(object):
def name(self):
return "Shoes"
def __str__(self):
return "Shoes"
class Mobile(object):
def name(self):
return "Nokia"
def __str__(self):
return "Nokia"
class ShoesFactory(object):
def get_item(self):
return Shoes()
def model(self):
return "MEN101"
def color(self):
return "Black"
class MobileFactory(object):
def get_item(self):
return Mobile()
def model(self):
return "NOK404"
def color(self):
return "Black deep"
shopShoes=Shop(ShoesFactory())
shopShoes.get_item_description()
print "*"*30
shopMobile=Shop(MobileFactory())
shopMobile.get_item_description()