11月30日に開催されたBPStudy#63で「Scalaプログラミング・マニアックス」について、「ゆるふわScalaプログラミング」 といった方向性で振り返りをしています。その7はトレイトです。
トレイトの便利さをどのように紹介するのか考えがまとまらないうちに、当日となってしまったのでスライドは今ひとつ焦点の絞れていないものになってしまいました。
そういうこともあり、本ブログでもトレイトを元に以下の記事を書いてみましたが、プログラミング・モデルにおけるトレイトの本質にせまるという感じには至りませんでした。
トレイトには単に多重継承ができる、というだけでない"何か"があるんですよね。
ただ、Tipsとしては有効な内容と思いますので参考にはしていただけると思います。
トレイトについては、「Scala基礎勉強会」で聞いた:
の2つが強烈ですし、またその他定番としては:
もあります。このあたりを盛り込んだ内容にいずれ昇華させたいと考えています。
モデリング
Scalaプログラミングを通じて、トレイトには大いに触発されて、モデリングにも取り入れ、SimpleModelerにも組込みました。
- トレイト・モデリング
- MindmapModelingと集合知(10) - トレイト
- MindmapModeling/SimpleModeler - トレイト
- MindmapModeling/SimpleModeler - トレイトの使用方法
実際に使ってみたところ、トレイトを上流の設計段階からモデル要素として積極的に使っていくアプローチはかなり有効ではないかと感じています。プログラミング言語側のScalaに受け口があるので、モデリングとプログラミングがシームレスにつながる点も重要です。
モデリングとトレイトというと、DCIのようなアプローチも提案されています。
こういった点も含めて、モデリング、プログラミングの双方からトレイトの活用用法、トレイトによって実現できるアーキテクチャ、プログラミング・モデルを探って行きたいと思います。