Claro, vamos lá:
Primeiramentante tenha em mente que estes exemplos, embora simples e didáticos, são apenas ilustrativos e servem para demonstrar os conceitos fundamentais de diferentes paradigmas de programação. Na prática real, onde os problemas são muito mais complexos e multifacetados, os benefícios destas abordagens tornam-se mais evidentes.
OO
class Action:
def value(self):
return None
class CreateAction():
def value(self):
return 1
class ReadAction():
def value(self):
return 2
class UpdateAction():
def value(self):
return 3
class DeleteAction():
def value(self):
return 4
def receiveActionOO(action):
className = f"{action.capitalize()}Action"
actionClass = globals().get(className, Action)()
return actionClass.value()
FP
def create_action():
return 1
def read_action():
return 2
def update_action():
return 3
def delete_action():
return 4
def default_action():
return None
def receiveActionFP(action):
function_name = f"{action}_action"
action_func = globals().get(function_name, default_action)
return action_func()
action = 'update'
value_long = recieveActionLong(action)
value_short = recieveActionsShort(action)
value_OO = receiveActionOO(action)
value_FP = receiveActionFP(action)
print('Valor da ação longa: ', value_long) # 3
print('Valor da ação curta: ', value_short) # 3
print('Valor da ação OO: ', value_OO) # 3
print('Valor da ação FP:', value_FP) # 3