19 lines
454 B
Python
19 lines
454 B
Python
"""Refactored Car & Engine example that demonstrates inversion of control."""
|
|
|
|
|
|
class Engine(object):
|
|
"""Example engine."""
|
|
|
|
|
|
class Car(object):
|
|
"""Example car."""
|
|
|
|
def __init__(self, engine):
|
|
"""Initializer."""
|
|
self.engine = engine # Engine is an "injected" dependency
|
|
|
|
|
|
if __name__ == '__main__':
|
|
engine = Engine() # Application creates Engine's instance
|
|
car = Car(engine) # and inject it into the Car's instance
|