我有大量使用Java/C#构建企业应用程序的经验,并且已经习惯了所有带有面向对象、静态类型化语言的标记。具体来说,我已经非常擅长通过使用行业的标准工具来处理系统复杂性:
我被要求使用动态功能语言(Lua)来设计一个相当复杂的后端消息处理系统。函数式语言如今风靡一时(NodeJs、JavaScript等),所以我很高兴利用这一机会加入上述潮流。
有人能建议一个示例应用程序或架构,我可以用来学习如何使用诸如第一类函数、闭包、竞相构建一个复杂的、松散耦合的系统吗?
非常感谢!
发布于 2012-10-23 17:41:05
我对“设计模式”进行了相当多的研究,这些模式可以应用于具有一流功能支持的动态语言中,下面是我的研究结果。
运行==依赖项注入。Currying允许您接受一个函数,并将其重新打包为一个新函数,其中一个或多个参数值已经指定。这非常类似于一个IoC容器,它用所有的依赖项实例化一个“引导”类,并准备供客户使用。
一级函数==命令模式。由于可以像传递值一样传递第一类函数,所以基本上可以获得免费的命令模式,并且没有开销。
参考资料:
功能依赖注入
https://stackoverflow.com/questions/12327447
复制相似问题