Ruby编程中的 method_missing 与猴子补丁技术应用
1. 以用户需求为导向的 method_missing
在编程中,有时会遇到一些看似没有添加新功能的方法,比如 replace_firstname 和 replace_lastcarmodelbought 之于 FormLetter 类。这些方法只是以不同形式展现了 FormLetter 类的现有特性。但我们仍要实现它们,原因在于用户有此需求。
使用 FormLetter 类的程序员希望有便捷方法,这些方法能让生成表单信件的代码更简洁,便于程序员处理。Ruby编程文化重视代码外观,因为使用、阅读和维护代码的人很重要。优秀的软件工程旨在让每个人的工作更轻松,以产出优质的最终产品。所以我们添加便捷方法、构建 method_missing 方法,努力使API易于使用,这样程序员就能有时间构建易用且有效的系统。
2. 使用 method_missing 时避免问题
使用 method_missing 构建灵活的API,相较于用于委托,有一个好处是虚构的方法名与对象的真实方法冲突的风险较小,因为可以自行制定命名规则来避免明显的名称冲突。但仍需警惕,因为可能会出现意外的命名冲突。
例如,在使用 method_missing 的 FormLett
超级会员免费看
订阅专栏 解锁全文
628

被折叠的 条评论
为什么被折叠?



