Design by Contract(1)

Design by Contract をご存知だろうか?
契約による設計と言うやつで、
不変表明・事前条件・事後条件で構成される。
Eiffelという言語では言語レベルでサポートされているが、
Javaでは対応されていない。(assertがそれにあたるのか?)
とりあえず、本当に対応しているとは言えない状態だ。

そこで、Java5の機能を利用し、このDesign by Contractを実現できないか考えてみた。
なんかアノテーションを使えばできそうな気がしてきたので、
出来上がるまで、お付き合いいただければと思っている。

とりあえず、連載形式でやっていきます。
途中で断念なんてことも大いにありえるのであしからず。
あと、同じようなものがあるなんてのはお構いなし。
とりあえず、車輪の再開発にいそしんでみるのも一興。