タグ

設計に関するaqkiのブックマーク (2)

  • 例外をインターセプトすべきか

    ユーザーがログインするときのメソッドを実装してくれ、と依頼されたと考えよう。 メソッド名は LoginUser() だ。 このメソッドは、既に実装済みのデータアクセスメソッドを呼び出す。 データアクセスメソッドは、「データベースに接続できなかった」、「該当データが存在しない」の2つの例外を送出する。 「該当データが存在しない」は例外として扱うべきではない、と思ったので、実装者に文句を言ってやった。データが存在しない事は例外状況でないと。 ひと悶着あったが、結局、広く使われてるので今更変更できないと言われた。 自分はそんな間抜けな実装は絶対にしない。そう誓った。 LoginUser() はどのような例外を送出すべきなのか。 ログイン名が違う、パスワードが違う等は例外として扱いたくないので、戻り値で返すようにしたい。そこで「該当データが存在しない」の例外は catch して、戻り値を fals

  • DB DesignerとCakePHPの連携·dbdesigner2cake MOONGIFT

    個人的にPHPで開発をするなら使っているのがCakePHPだ。善し悪しはあれど、Rails風に使えるので、慣れと言う意味で便利に使っている。 だが、最大の問題はDBデザインとの連携がとれない点だった。Railsで言えばMigrationにあたる機能だ。これがないのが問題だと感じていたが、もっと素敵なものが存在していた。 今回紹介するオープンソース・ソフトウェアはdbdesigner2cake、DB DesignerとCakePHPを連携させるソフトウェアだ。 DB Designerは、Webアプリケーション開発の際に良く利用されるDB設計ツールで、オープンソースで手軽に利用できる利点もある。このdbdesigner2cakeではDB Designerで作ったXMLファイルを利用する。 生成されるのはControllerとModel、そしてViewだ。いわゆるScaffoldのようにDB定義

    DB DesignerとCakePHPの連携·dbdesigner2cake MOONGIFT
  • 1