SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

C#たんと学ぶ/わりと硬派なソフトウェア開発講座

C#たんと学ぶ/わりと硬派なソフトウェア開発講座
第1回「C#でできること」

C#たんと学ぶ わりと硬派なソフトウェア開発講座(1)


  • X ポスト
  • このエントリーをはてなブックマークに追加

Webアプリケーション: ASP.NET

 最近では、デスクトップ・アプリケーションよりも、Figure 4に示すような、インストール不要でブラウザさえあればどこからでも利用できるWebアプリケーションが増えてきました。

Figure 4: Webアプリケーション
Figure 4: Webアプリケーション

 特に、ゲームやSNS(ソーシャル・ネットワーキング・サービス)などのコンシューマー向けのアプリケーションでは、「専用のデスクトップ・アプリケーションをダウンロードしてインストールしてください」というとその時点で9割9分の人が帰ってしまうといわれるほどで、Webアプリケーションが非常に重要になっています。

 ただし、開発者視点でいうと、Webアプリケーションの構築にはHTTPなどの知識が追加で要求され、デスクトップ・アプリケーションよりも高いスキルが要求されます。そこでまたフレームワークの出番ですね。.NET Frameworkには、ASP.NETと呼ばれるWebアプリケーション開発フレームワークがあり、Figure 5に示すように、煩雑な部分を隠ぺいしてくれて、デスクトップ・アプリケーションと同じ感覚でWebアプリケーション開発を行えます。

Figure 5: ASP.NETでは、Webアプリケーションの煩雑な部分を隠ぺい
Figure 5: ASP.NETでは、Webアプリケーションの煩雑な部分を隠ぺい

データ操作: LINQ

 アプリケーションの行う仕事の多くは、何らかのデータの収集・分析・表示です。一例として、流通業務なら以下のようなこと行っています。

  • 収集: 商品の受発注情報を記録したり
  • 分析: 集計して会計情報にしたり、分析して次月の販売戦略に生かしたり
  • 表示: 帳票として出力したり、分析結果を可視化したり

 また、娯楽分野においても、最近ではランキング機能を持たせたりといった、データの収集・分析・表示が行われています。

 このようなデータ操作にはある程度決まったパターンがあります。典型例を挙げると、Figure 6に示すような条件選択集計などです。

Figure 6: データ操作の典型的なパターン
Figure 6: データ操作の典型的なパターン

 パターンが決まっているならフレームワーク化が非常に有効です。.NET FrameworkにはLINQ(Language Integrated Query)と呼ばれるデータ操作用のフレームワークが存在します。LINQは、開発者の負担軽減のため、異なる種類のデータ・ソースに対する操作を共通化(Figure 7)するなどの工夫が盛り込まれています。

Figure 7: LINQは、異なる種類のデータ・ソースに対する操作を共通化
Figure 7: LINQは、異なる種類のデータ・ソースに対する操作を共通化

 特に、データベースに対するデータ操作では、Figure 8に示すように、(データベースのデータ記録方式として主流になっている)リレーショナルデータベースのデータ構造と、(プログラミング言語として主流な)オブジェクト指向のデータ構造の差が問題になります。データベース向けのLINQであるLINQ to Entitiesでは、このデータ構造の差異を吸収するための仕組みを持っています。

Figure 8: オブジェクト指向とリレーショナル・データベースのデータ構造の差
Figure 8: オブジェクト指向とリレーショナル・データベースのデータ構造の差

次のページ
サービス化: WCF

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
C#たんと学ぶ/わりと硬派なソフトウェア開発講座連載記事一覧

もっと読む

この記事の著者

C#たん ソフトウェア開発講座 制作委員会(シーシャープタン)

ソフトウェアに求められる要求の高度化とともに大きくなる開発者への負担を、開発ツールやフレームワーク、時には萌え力を頼りに軽減できないか考えるプロジェクト。C#たんは単なるマスコットかと思いきや、割と毒舌。自分のことは棚に上げて、「萌えればいいってもんじゃないですよ?」が信条。twitter: @cs...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5346 2011/01/20 12:38

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング