Skip to content

Commit f6717ac

Browse files
committed
wip: home theatre facade working with 5 / 7 separates
1 parent b70750b commit f6717ac

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ I have added examples of pattern usage in the Python standard library and pypi -
1818
- [x] [Singleton](chapter05_singleton)
1919
- [x] [Command](chapter06_command)
2020
- [x] [Adapter](chapter07_adapter_facade)
21-
- [ ] [Façade](chapter07_adapter_facade)
21+
- [x] [Façade](chapter07_adapter_facade)
2222
- [x] [Template Method](chapter08_template)
2323
- [x] [Iterator](chapter09_iterator_composite)
2424
- [ ] [Composite](chapter09_iterator_composite)

chapter07_adapter_facade/facade/home_theatre_facade.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ class HomeTheaterFacade:
33
def __init__(self, amp, tuner,
44
player,
55
projector,
6-
# screen,
6+
screen,
77
# lights,
88
# popper
99
):
1010
self.amp = amp
1111
self.tuner = tuner
1212
self.player = player
1313
self.projector = projector
14-
# self.screen = screen
14+
self.screen = screen
1515
# self.lights = lights
1616
# self.popper = popper
1717

@@ -20,7 +20,7 @@ def watch_movie(self, movie):
2020
# self.popper.on()
2121
# self.popper.pop()
2222
# self.lights.dim(10)
23-
# self.screen.down()
23+
self.screen.down()
2424
self.projector.on()
2525
self.projector.wide_screen_mode()
2626
self.amp.on()
@@ -34,7 +34,7 @@ def end_movie(self):
3434
print("Shutting movie theater down...")
3535
# self.popper.off()
3636
# self.lights.on()
37-
# self.screen.up()
37+
self.screen.up()
3838
self.projector.off()
3939
self.amp.off()
4040
self.player.stop()

chapter07_adapter_facade/home_theatre.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from facade.home_theatre_facade import HomeTheaterFacade
2-
from separates.separates import Amplifier, Tuner, StreamingPlayer, Projector
2+
from separates.separates import Amplifier, Tuner, StreamingPlayer, Projector, Screen
33

44

55
def theatre_test_drive():
@@ -9,13 +9,13 @@ def theatre_test_drive():
99
# cd = CdPlayer("CD Player", amp)
1010
projector = Projector("Projector", player)
1111
# lights = TheaterLights("Theater Ceiling Lights")
12-
# screen = Screen("Theater Screen")
12+
screen = Screen("Theater Screen")
1313
# popper = PopcornPopper("Popcorn Popper")
1414

1515
home_theater = HomeTheaterFacade(amp, tuner,
1616
player,
1717
projector,
18-
# screen,
18+
screen,
1919
# lights,
2020
# popper
2121
)

chapter07_adapter_facade/separates/separates.py

+12
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,15 @@ def wide_screen_mode(self):
123123

124124
def tv_mode(self):
125125
print(self.description + " in tv mode (4x3 aspect ratio)")
126+
127+
class Screen:
128+
def __init__(self, description):
129+
self.description = description
130+
def __str__(self):
131+
return self.description
132+
133+
def up(self):
134+
print(f"{self.description} going up")
135+
136+
def down(self):
137+
print(f"{self.description} going down")

0 commit comments

Comments
 (0)