今更ながら、リフレクションとアノテーションを使ったフレームワークを実装してみる。

毎度毎度、今まで作ってたのをほっぽりだして次から次へと新しいモノを作り始めて自分でも何だかなぁと思いますが、ちょっとclominalは壁にぶち当たって実装お休み中です。。
(検索機能の実装はできたんですが、置換機能について、RSyntaxTextAreaの中のコードを読み始め、リフレクションで機能を切り貼りして使いまわせないかと思ったのですが、clojure側からRSyntaxTextArea内のprivateメソッドを呼び出す為のリフレクションがいまいちうまく機能せず・・・とはいえ、今私の普段使いのエディタはclominalですw)

でclominalとは全く無関係に、とある切っ掛けで事務処理用のフレームワークを書き始めています。目的は「リフレクションとアノテーション使ってフレームワークを書いてみよう」です。自分の勉強の為という色合いが強いです。
その経過やらアイデアは別のところにメモ書きしてたのですが、こちらの方が書きやすくなったのでこっちにメモ書きすることにします。

今考えているのは、ビジネスロジック部分を全てプラグイン化できる構成のフレームワークです。
基本的な処理は「標準機能」として提供されますが、それらでカバーできないような複雑な業務は、新規で専用のプラグインを実装して提供することが可能になる予定です。

で、今まで私が少なからず仕事で関わってきた事務処理システムを振り返ると、次の機能があれば大抵の業務は表現できるのではないかと予想しています。

・新規追加
・更新
・詳細表示
・一覧表示(&検索含む)
・削除(一括削除含む)
・承認依頼、承認、却下
・リマインダー
・コメント
・帳票印刷

上から5つは既に実装済みで(細かいバグはありますけども)、
現在は承認絡みの機能について実装中です。

というわけで、今後しばらく、承認関係のプラグインの実装についてメモ書きしていきます。(多分内容は推敲しません。)

あ、ちなみに名前は「PaperWorker」にしました。