我感染了函数式编程和反应式方法.对于灵感和想法,我使用Haskell和一篇很棒的Rick Hickey文章.在python世界中,我为自己找到了RxPy和funcy库.现在我有数千行命令式代码,我希望它能够实现功能.如果一切都简化了,我有一个数据库的getter和setter接口以及一个像状态机一样工作的内核.以下是伪代码的外观:
class State(object):
def __init__(id):
self.data = database_interface.get_state(id)
self.status = data['status']
def process(self):
if self.status == 'init':
self.handle_init()
elif self.status == 'request_data':
self.handle_request_data()
elif self.status == 'idle':
self.handle_idle()
# etc...
...
def on_new_message(msg):
id = msg['id']
state = State(id)
state.process()
Run Code Online (Sandbox Code Playgroud)
我有很多的if和for必要的业务逻辑,我的状态处理程序.我真的很尴尬,如何从当前模式转变为反应性和功能性.这里的一切都非常简单,但谁已经有类似的经历会理解我.我需要建议接下来要去哪里,从想法到实践,比功能风格的简单实用程序或简单的REST api更大.此外,无论我在哪里获得想法,我都会得到非常大的项目源代码的链接.感谢所有回复的人,将实际操作代码移植到功能代码中.是的,我知道它不会移植代码,而是从头开始重写代码.同样,我需要具有大量业务逻辑的项目示例,其中包含数据和数据突变的工作.无论如何,谢谢.
functional-programming reactive-programming python-3.x rx-py