ライブラリを作るのって難しい

mixi4jのとっかかりをやっているのだが、難しい。
処理の実装だけなら、特に問題ない。がりごり書いてしまえばいい。
でもライブラリを作ろうと思うと、そうはいかない。
処理の軽さだったり、使いやすさが重要になる。
Web系のシステムなら、ある程度パッケージ構成や、使われ方が想定できるけど、ライブラリなんて作ったことがない。
正直デザインパターンはあまりわかってないし。スタンダードな構成がよくわからない。


これはインスタンス変数にしたほうがいいかな、引数渡しで使いまわすかな、初期化はどこでやろうかな、エラーハンドリングはどうすればいいかな、というところで、普段の倍くらい考える。
普段はライブラリを利用して実装をしている。利用される側になってみると、こんなに違うのか。
業務用の共通ライブラリとかは、使われ方がある程度限定される楽だけど(その分大変だったりもするが)。


考えすぎてもしかたないので、いまはパッケージは特に作らず、同一パッケージにすべてのクラスを置いている。
まずは書かなきゃ仕方ないし。


オープンソースのライブラリとか作っているひとって、本当にすごいな。
大層なものを作っているわけではないが、実装してみないとわからないことって本当に多い。