Ver.1.0 クラス図

http://www.takke.jp/mpss/dev/mpss.png

なんだか線が足りない気がしていますw

たぶん、Ver.1.0 正式版では、LearningFormBase が ModeSectionLog の参照を持っていたはず。OptionForm が MainOption を参照してたはず。

注目していただきたい点は、Ver.1.0 正式版にも内部的には LearningFormCard を含んでいるということですね。
実質的には動かない代物なんですが、設計としては LearningFormSelect との UI 上の差分のみを実装することで、LearningFormCard を実現できるようになっている、ということです。
(つまり、カードモード等もその気になればすぐに作れるということ)

# 本当はこれ以外にタイマー関連と学習遷移エンジンのクラスがあるんですが、なぜか省略されてます。

あと注目すべきは Database かなぁ。SectionLog → ModeSectionLog のあたりが、PSS との互換性を考慮して出した結論だったり。

MPSS において C# らしい部分っていうのは、タイマーと学習遷移エンジンと学習画面とのイベント通知のあたり(ちゃんと delegate とか使ってる)なんだけど、それは別のクラス図とシーケンス図にまとめてあるのでまた今度。