View difference between Paste ID: DMWM3pSD and qrg2bMJm
SHOW: | | - or go back to the newest paste.
1
2
    # Business and Data Objects
3
    class Foo:
4
        def __init__(self,create_bar,prefix):
5
            self.create_bar = create_bar
6
            self.prefix = prefix
7
        def do_stuff(self,times):
8
            for _ in range(times):
9
                bar = self.create_bar(self.prefix)
10
                print(bar)
11-
                print bar
11+
12
    class Bar:
13
        def __init__(self,prefix):
14
            self.prefix = prefix
15
        def __str__(self):
16
            return str(self.prefix)+"Hello"
17
            
18
    class Prefix:
19
        def __init__(self,name):
20
            self.name = name
21
            self.count = 0
22
        def __str__(self):
23
            self.count +=1
24
            return self.name+" "+str(self.count)+": "
25
        
26
    # Wiring up dependencies
27
    def create_bar(prefix):
28
        return Bar(prefix)
29
    
30
    
31
    def create_prefix(name):
32
        return Prefix(name)
33
    
34
    
35
    def create_foo(name):
36
        return Foo(create_bar,create_prefix(name))
37
    
38
    # Starting the application
39
    f1 = create_foo("foo1")
40
    f2 = create_foo("foo2")
41
    f1.do_stuff(3)
42
    f2.do_stuff(2)
43
    f1.do_stuff(2)