GroovyによるDCIアーキテクチャのサンプル実装で明らかになった2つの問題点をScalaによって解決する。 導入 前回のエントリでは、DCIアーキテクチャの構想に従った実装を示しつつ、言語的な制約から来る問題点を2つ提示しました。以下に再掲します。 ミックスインしたロールクラスにキャストすることができないため、ロールクラスを使用する際に型の安全性が確保されていない。追記:asTypeを使用することで、ミックスインしたクラスへのキャストが可能です。uehaj様より指摘を頂きました。(2010/06/04) ロールクラスが定められたふるまいを実行するためにはデータ構造についての知識が必要だが、それを静的に保証することができていない。 これらはいずれも型の安全性に関する問題で、アーキテクチャの問題というよりは言語仕様の問題です。そこで今回はScalaを使用し、これらの問題をトレイトと抽象メン
![ScalaによるDCIアーキテクチャ:ローンシンジケート再考 - Digital Romanticism](https://cdn-ak-scissors.b.st-hatena.com/image/square/077cba9fbc5b96cf6cf4daa3a571c47e3af5b555/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fd%2Fdigitalsoul%2F20100520%2F20100520005004.jpg)