drugwars-rust - 用Rust语言重写的经典文本冒险游戏DrugWars的40周年纪念版本
drugwars-rust是一个用Rust语言重写的经典文本冒险游戏DrugWars的40周年纪念版本。该版本在保持原游戏体验的同时,提供了跨平台支持和更新的终端兼容性。它使用了与原版相同的单键命令,确保了流畅的游戏体验和快速的输入处理。该仓库提供了不同的构建和安装方式,包括普通发行版、LTO优化版本、本地安装等。另外,对于Git Bash和Mintty等终端,提供了特定的运行命令。
这个项目向怀旧的玩家呈现了一个经典游戏的现代化复刻版本。
https://github.com/urrickhunt/drugwars-rust
design-patterns-in-rust - Rust中的SOLID原则和策略模式
该文章首先介绍了SOLID设计原则,包括单一责任原则、开放封闭原则、里氏替换原则、接口隔离原则和依赖反转原则。这些原则有助于设计可维护和可扩展的面向对象系统。
然后,文章详细介绍了策略模式这种行为设计模式。策略模式定义了一族算法,将每个算法封装起来,并使它们可在运行时互换。这种模式基于组合的思想,通过将算法的行为与算法使用的客户端代码分离开来,可以灵活地改变算法。
文章以一个简化的交易系统为例,展示了如何在Rust中实现策略模式。系统中有三种不同的执行策略:TWAP、VWAP和POV。通过定义执行策略的公共接口trait,以及具体实现这些策略的结构体,实现了可插拔的策略。上下文OrderExecutor持有策略的引用,通过统一的execute方法调用具体策略的执行逻辑。客户端可以在运行时选择使用何种策略。
这篇文章清晰地介绍了SOLID原则和策略模式,并通过实例展示了在Rust中应用该模式的方式,很好地阐释了模式的结构和用法。
https://siddharthqs.com/design-patterns-in-rust
Shiva - Rust语言实现的文档解析和生成库
Shiva是一个用Rust语言实现的文档解析和生成库。它支持多种文档格式的相互转换,包括纯文本、Markdown、HTML、PDF、JSON、XML、CSV、RTF、DOCX、XLS、XLSX和ODS等。该库提供了一个通用的文档模型(CDM),解析器将文档解析为CDM,生成器从CDM生成目标文档格式。
该库支持解析和生成不同类型文档的标题、段落、列表、表格、图像、超链接、页眉和页脚等元素。它可以用作Cargo依赖库,也可以作为CLI工具和Web服务器使用。该项目欢迎社区贡献,贡献者需要实现相应的Trait接口来支持新的文档类型。该库使用Apache 2.0或MIT协议开源。
https://github.com/igumnoff/shiva
--
From 日报小组 Mike
社区学习交流平台订阅:
Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区