[seasar-dev:483] [S2Container.NET] 異なる.NETのバージョンについて
Kazuya Sugimoto
sugimotokazuya @ gmail.com
2006年 8月 21日 (月) 13:07:16 JST
杉本です。
現在、.NET 1.1用のS2Container.NETはSVN上でブランチに分けて開発を行っています。
これをSpring.NETも採用しているように、ソースコードを共通にして、ソリューションファイル,
プロジェクトファイルをVisualStudioのバージョン毎に用意するようにしてはどうかなと
思います。
ソース中でバージョン毎に切り替えが必要な部分は、定義されたシンボルと#ifを使用して
コンパイル時に切り替えるようにします。
あまり無いと思いますがソースコードの大部分に変更が必要で分かりにくくなれば
ソリューションファイル, プロジェクトファイルと同様にS2ContainerImpl.2005.csや
S2ContainerImpl.2003.csのようにファイルを分ける手もあると思います。
理由は以下の通りです。
- ほとんどの変更点・修正点が両方のバージョンで必要で作業量と作業ミスが多くなる
- .NET 2.0専用に追加するコード量がそれほど多くなかった(現状Null許容型の対応くらい)
- .NET 2.0に移行できないユーザが存在しているし、おそらく今後も当分存在する
- 今後.NETのバージョンが増えた場合に、過去のバージョンのメンテナンスを維持しやすい
- Spring.NETで実績がある
現在テスト中ですが、皆さんご意見下さい。
# 以前Spring.NET案をwataruさんが提案したのですが、ソースコードがややこしくなったら
# 嫌だねという理由でブランチに分けることになりました。
--
Kazuya Sugimoto
http://d.hatena.ne.jp/sugimotokazuya/
Seasar-dev メーリングリストの案内