ミルク

掲示板システムが動作するように機能を追加する.まあ,簡易サーバ的な機能群を繋げるだけで掲示板が作れるよ,みたいなものを作ってみた.が,設定ファイル書くのめんどくせー.これは,早々にGUIで配線できるようにしないと駄目だと思った今日この頃です.
さて,掲示板を作るにあたり感じたことを羅列する.

  1. read/writeメソッドは必要悪だったかも
  2. マルチスレッドで動かさないと駄目な部分がある

read/writeメソッドは必要悪だったかも

配線だけで機能を実現する場合,明らかにプログラムとして記述したほうがスマートに表現できるようなコントロールフローも,データフロー形式へと変換しなければならなくなり,苦痛になる.
たとえば,現状では処理の途中でとあるサービスAを利用するためには,一度メソッドを抜けて,サービスAへデータを渡し,その結果を再び別のメソッドで受けなければならなくなる.これだと,本来ひとつのメソッドとして定義したほうが見通しがよくなるにもかかわらず,サービスAを使おうとしたがばかりに,メソッドが分断されてしまうことになる.
これに対して,read/writeメソッドがあれば,単一メソッド内で擬似的にサービスAのメソッドを呼び出すことができるため,メソッド分割という悲劇は発生しない.悲しいことに,read/writeは必要悪だったのだ.
しかし,read/writeはダサすぎる.そもそも,誰がread/writeを提供するのかを真剣に検討しなければならなくなる.失敗すると,旧バージョンのDefaultFunctionalModuleのようなクラスが出現してしまい,POJOが破られてしまう.だからといって,プログラム内でサービスインスタンスを直接使用してしまうと,サービスを変更するのが大変になる.
そこで,考えました.
DIを使えば問題解決.あとは,DIをGUIでどのように表現するかが問題だ.

マルチスレッドで動かさないと駄目な部分がある

当たり前だよね.最低限,入力用スレッドは必要だったよorz
httpサーバ機能を書いてて思った.

当面の課題

  1. DIでの依存関係のGUIによる編集と,データフロー依存関係のGUIによる編集が,シームレスに行えるGUIを考える
  2. マルチスレッドを制御下に置くための機能をコンテナに追加する