上のリンクを辿りながらいろいろ検索してみると結構
オブジェクトやらクラスロードやらリフレクションに対するC++での実装が
見つかりました。やはり他人の設計、コードは勉強になりますね。

で、みなさんにまたまた質問があります。今回は実装に関して意見を聞きたいす。
@長文です。すいません

チケット#4でもあげているのですが、いまの柴犬の実装だと
同一名称のサーブレットだとネームスペースが別でも複数ロードできません。
で、修正としてはネームスペース+クラス名でロード対象を指定すればいいだけなのですが、
設定ファイル側でどのように指定するか悩んでおります。

具体的に言うと、現状の設定ファイル(server.xml)では
<xxxx class="aaa/bbb/ccc/Target"> という感じで.so(.dll)のあるパスを直接書く感じになってます。
ロードするときはパス情報を消したクラス名に.soをつけてロードする方式でした。

これに対する修正案として2点思いついたのですがさて問題なのです。
1. Java(Tomcat)と同じように "aaa.bbb.ccc.Target" として、ネームスペース==ディレクトリということにする。
2. className="aaa::bbb::ccc::Target" classPath="ddd/eee/fff/Target" としてネームスペース+クラス名とは別にパスを指定可能にする。

1 の方法だと内部処理で '.' を '::' に読み変えるだけでクラスを特定でき、記述レベルでの互換性も確保されますが、
モジュールを作成する時に常にディレクトリとネームスペースを合わせなければならない制限が発生してしまいます。
2 の方法だと記述レベルでの互換性や記述量の多さが気になりますが、
ディレクトリ構成に縛られないモジュール指定が可能です。

1 の方法でカチッとJavaっぽくやってしまうとC++ユーザとしてどうなのかと自身C++ユーザとしても悩んでます。。。
また他にも良いアイデアがあれば通りすがりに発言お願いします。