11月30日(月)1、2コマ目

今日、やったこと

  • C#版「オークションサイト」構築
  • Javaの例外

今日の課題(C#版「オークションサイト」)

ソースを載せておきます。

[データアクセスレイア]UserDAOクラス

ユーザーマスタテーブルアクセス用クラス。

あくまでもデータベースアクセスクラス。認証メソッドはここには作らない。

このクラスが返す値を使って、ビジネスロジック層で認証を行う。

逆の言い方をすれば、ビジネスロジック層で認証を行うためにこのクラスの機能を使う。


[データアクセスレイア]ItemDAOクラス

商品マスタテーブルアクセス用クラス。


[データアクセスレイア]BidDAOクラス

入札データテーブルアクセス用クラス。


[ビジネスロジックレイア]Serviceクラス

このクラスでシステムに必要な機能を提供する。


[プレゼンテーションレイア]Index.cshtml.cs

1ページ目。Index.cshtmlはなんてことはないので省略。


[プレゼンテーションレイア]ItemList.cshtml.cs

2ページ目。おなじく、ItemList.cshtmlは省略。


[プレゼンテーションレイア]Bid.cshtml.cs

3ページ目。Bid.cshtmlは省略。


今日のホワイトボード

Javaの例外クラス

.Netと異なり、例外処理(キャッチするまたはthrowsで例外スローを宣言してスロー)をコンパイル時にチェックする検査例外と.Netと同じ実行時例外の2種類の例外がJavaにはあります。

図 Javaの例外クラス

せっかく2種類の例外クラスがあるので、異常時の通知方法で使い分けをします。

図 検査例外と実行時例外の使い分け


サンプルアプリケーション「ユーザー登録」

以前、.Netでの作成したユーザー登録です。入力されたIDがすでに登録済みならエラー「異なるIDを入力してください」を通知します。

図 サンプルアプリケーション「ユーザー登録」


検査例外をスローするメソッドを使うときは

DBアクセスを行うメソッドはSQLExceptionをスローするものが多いです。このSQLExceptionは検査例外なので、

  • キャッチする
  • throwsで例外スローを宣言して呼び出し元にスロー

のいずれかを行う必要があります。

図 検査例外をスローするメソッドを使うときは


コメント

このブログの人気の投稿

11月16日(月)1、2コマ目

11月2日(月)1、2コマ目

10月13日(火)1、2コマ目