|
|
前のページ 1 2 3 4
|
|
開発環境の進む方向性
|
このように、一部ではありますが、開発と密接に関連した代表的なフレームワークについて、その具体例をみてきました。ここまで読み進めてこられた方は、単に「非ビジネスロジック実装からの開発者の解放」という一言では片付けられない側面を実感されたのではないかと思います。
様々な技術が登場し、標準化なども整備され成熟する中で、技術の選択肢も増え、開発者はますます多くのことを学ばなければコードを組めなくなるのではないかという懸念があります。しかし、難しいことを知らない開発者でも一般的なコードを組むことができ、開発者の理解にあわせて自身で段階的にチューニングできるといったフレームワークがあれば、「何でもできる難しいフレームワーク」よりもさらに理想的でしょう。
.NETは、この考え方に近い開発環境を提供しています。ここでは詳細を触れませんでしたが、今回説明したいくつかの動作は、構成ファイルの設定やプロパティの設定などを使って適宜その動きを変更することができます。また通常は、開発者がもっとも期待するであろう動作が初期値として設定された状態になっていますので、こうした細かなカスタマイズを必要としない開発者にとっては、それらのすべてを開発当初から完璧に理解しておく必要はありません。
ただ、こうした便利な仕組みは、決して万能ではないという点も憶えておいてください。例えば、先ほど楽観的同時実行制御の話を説明しましたが、こうした点にまったく配慮しないコードを組んでしまっても、そのままビルドできてしまいます(実際には、Visual Studioが一定の同時実行制御に配慮したコードの雛形を生成してくれますが、これは本来、開発者自身が目視して、求められる品質にあわせて実装すべきです)。
またデータベースとの接続においても設計を間違えると、「接続プール」と呼ばれる接続をキャッシュする領域が無駄に消費されてしまいます。これでもビルドはできてしまうのです。.NETといえども、こうしたチューニングのポイントは実は数多く存在します。
ですから、.NETの便利さに溺れてついつい作業の手を抜いてしまうと、いざ要件の厳格な業務アプリケーションを組もうと思った際にいろいろとトラブルに襲われてしまいます。逆の言い方をすれば、こうしたポイントをしっかりと押さえれば、.NETは非常に信頼性の高い基盤として動作します。こうした開発の側面については、.NET以外の開発の場合と同じだと思ってください。
.NET以外の開発環境も含む広く一般の開発においては、様々な優れた視点(依存性の注入、横断的関心事の分離など)に基づき数多くのフレームワークが存在していますが、開発環境が向かおうとしているこうした方向性は、お互いに影響を与え、さらに進化していくでしょう。
今回説明した技術は、現在そのいくつかは.NET以外の開発環境でも採用されていますが、.NETは当初からこうした技術やフレームワークを採用してきました。つまり、こうした技術は、.NETの世界のみならず、ソフトウェア開発全体にも少なからず影響を与えてきたともいえます。著作権など法規的な問題を抜きにすれば、本来は、技術どうしが競い合い、影響し合って、その結果として向上していくというのは健全な姿であると筆者は考えます。
.NETのこの徹底したコンセプトの実現は、今後も互換性などに配慮しながら進化の足を止めることはないでしょう。次回は、Windows Vistaにも採用されている.NET Framework 3.0などの新しいテクノロジについて、ここまで述べてきた方向性なども踏まえながらその内容をみていきます。
|
前のページ 1 2 3 4
|
|
|
|
著者プロフィール
マイクロソフト株式会社 松崎 剛
1969年生まれ。慶応義塾大学院数理科学専攻修士(博士前期)課程修了。1994年より、情報システム系技術者としてのシステム構築、ソフトウェアプロダクト開発、技術系コンサルティング(アドバイザー業務)などを複数企業で経験。マイクロソフトでは、デベロッパーエバンジェリストとして、開発者向けのセミナーなどを主体とした活動を実施。
|
|
|
|