前回の続き一応、クラス設計について。Djemberは以下の10のクラスで構成されている。DBの1行を格納するクラスの基底クラス。コンストラクタでDB接続を行う。DBの更新、削除処理を包括している。usersテーブルの1行を格納するクラス。新規登録時の登録メール送信処理を実装している。scoresテーブルの1行と、それにひもづくscore_beanテーブルの内容を格納したtagbeanlistを格納するクラス。登録時の入力チェック処理を実装している。DB更新、削除処理をオーバーライドし、scoresテーブル更新、削除時に、それにひもづくscore_tagsの更新、削除も行っている。tagsテーブルの1行を格納するクラス。登録時の入力チェック処理を実装している。削除時には、それにひもづくuser_tags、score_tagsの削除も行っている。login中ユーザのusersテーブルの情報を格納するクラス。ログイン時の入力チェック処理、パスワードメール送信所折を実装している。basebeanクラスを生成し、beanlistに格納するクラスの基底クラス。コンストラクタでDB接続を行う。by句を生成する機能を実装している。基本的に、すべてのbeanクラスはこのクラスで生成され、DBからの値をセットする。※ただし、loginbeanのみ個別に生成される。userbeanクラスを生成し、usersテーブルの内容を格納した後、beanlistに格納するクラス。scorebeanクラスを生成し、scoresテーブルの内容を格納した後、beanlistに格納するクラス。tagbeanクラスを生成し、tagsテーブルの内容を格納した後、beanlistに格納するクラス。user_tags、score_tagsと結合し、user_id、score_idにひもづくtagsテーブルのデータを取得する機能を実装している。basebeanクラスを配列に格納するクラス。ページング機能、格納したbeanを1つずつ取り出すfetch機能を実装している。各画面では、このクラスを操作して画面を表示している。クラス図は描くほどの事もないので、クラス設計はこんだけ。データ取得はfactoryクラス、データ更新と、SQL生成はbeanクラスに分けたのがポイントかな。Djemberは以下の5つのテーブルで構成されている。現在開発中のアプリをiPhoneで表示させる時にハマったんで備忘録。iPhoneのsafariで表示中のWebページの向きを横に変えると、解像度が変わって画面が拡大してしまう(ように見える)。クラス設計その2前回の続き。抽象クラスの実装について。コンストラクタでDB接続やその他の設定を行う。DBの更新処理に必要なメソッドを抽象化(abstract)しておき、実装を強制させる。技術この投稿へのコメントコメントはありません。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。この投稿へのトラックバックトラックバックはありません。