我读了 Steve Freeman 和 Nat Pryce的《Growing Object-Oriented Software, Guided by Tests》,印象非常深刻。我想在我使用 RSpec 的 Rails 项目中采用本书的思想,尽管它的示例是用 Java 编写的。
本书的一个基本原则是我们应该模拟接口而不是具体的类。他们说我们可以通过提取接口并命名它们来改进应用程序设计。
但是,Ruby 没有任何与 Java 的interface
. 我如何将他们的技术用于 Rails 项目?
更新
例如,在第 126 页中,作者介绍了Auction
接口以实现该bid
方法。首先,他们模拟Auction.class
使测试通过,然后他们在类中实现了一个Auction
类作为匿名内部Main
类。最后,他们XMPPAuction
从Main
(第 131-132 页)中提取了一个新的具体类。
在我看来,这种渐进式方法是本书的症结所在。
如何在Ruby开发中采用或模仿这样的一系列代码转换?