SteveFreemanとNatPryceによるテストに導かれたGrowingObject-OrientedSoftwareを読み、非常に感銘を受けました。例はJavaで書かれていますが、RSpecを使用するRailsプロジェクトでこの本のアイデアを採用したいと思います。
この本の基本的な原則は、具象クラスの代わりにインターフェースをモックするべきであるということです。インターフェイスを抽出して名前を付けることで、アプリケーションの設計を改善できると言われています。
ただし、RubyにはJavaと同等の構文はありませんinterface
。Railsプロジェクトに彼らのテクニックをどのように活用できますか?
アップデート
たとえば、126ページで、作成者はメソッドAuction
を実装するためのインターフェイスを紹介しましたbid
。最初に、彼らAuction.class
はテストに合格するために嘲笑し、次にAuction
クラスに匿名の内部クラスとしてクラスを実装しましたMain
。最後に、彼らは(131-132ページ)XMPPAuction
から新しい具象クラスを抽出しました。Main
この漸進的なアプローチは、私の意見ではこの本の核心です。
Ruby開発でこのような一連のコード変換を採用または模倣するにはどうすればよいですか?