FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python-patterns/strategy.py at master · Problematic/python-patterns · GitHub
Problematic
/
python-patterns
Public
forked from
faif/python-patterns
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python-patterns
/
strategy.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
32 lines (22 loc) · 930 Bytes
Breadcrumbs
python-patterns
/
strategy.py
Copy path
File metadata and controls
32 lines (22 loc) · 930 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
'''http://stackoverflow.com/questions/963965/how-is-this-strategy-pattern-written-in-python-the-sample-in-wikipedia'''
import
types
class
StrategyExample
:
def
__init__
(
self
,
func
=
None
):
self
.
name
=
"Strategy Example 0"
if
func
:
self
.
execute
=
types
.
MethodType
(
func
,
self
)
def
execute
(
self
):
print
(
self
.
name
)
def
executeReplacement1
(
self
):
print
(
self
.
name
+
" from execute 1"
)
def
executeReplacement2
(
self
):
print
(
self
.
name
+
" from execute 2"
)
if
__name__
==
"__main__"
:
strat0
=
StrategyExample
()
strat1
=
StrategyExample
(
executeReplacement1
)
strat1
.
name
=
"Strategy Example 1"
strat2
=
StrategyExample
(
executeReplacement2
)
strat2
.
name
=
"Strategy Example 2"
strat0
.
execute
()
strat1
.
execute
()
strat2
.
execute
()
Back
|
FazBrowse Home
|
New Git URL