連載

第7回 ネットワークiアプリのためのサーバサイド活用(2)90Xi専用ゲームiアプリ開発講座(4/4 ページ)

今回も引き続き、第5回までに作成した900i専用のトレーディングカードゲームを、ネットワーク対戦に対応させるために、アプリとサーバの間のインタフェースの設計および、実装を行う。

前のページへ |       

サーバ側で設計を工夫する

 プログラムで行うことが増加し、複雑に入り組んでくると、ひとつひとつのクラスやメソッドが肥大し、後の修正や、機能追加のさいの障害になりかねない。そうならないためには、コーディングを行いながら、上手く全体の設計を修正していく必要がある。今回もコーディングを行いながら、設計を組み替えていく作業を行った。

 一つめは、ACTIONに応じて処理を振り分ける制御クラスを作成したことだ。具体的には、アプリからのリクエストに応じて行われる処理を、SWITCH文を用いて切り替えている。処理の内容も、中身に応じたクラスに処理させることで、直感的に分かりやすくなるよう配慮した。

AMP 非対応のコンテンツです。こちらからご覧ください。

 またさらにもう一つ、DBAccessクラスを管理するDBオブジェクト管理クラスを作成した。DBAceessクラスをいちいちインスタンス化するのは面倒だし、場合に応じて何をインスタンス化すべきか考えるのも複雑になってしまうので、DBAccessクラスを管理するクラスを作成したわけだ。

advertisement

 getDAOメソッドを利用してDBAccessサブクラスのインスタンスを取得する。インスタンスは初めて作るときのみ生成し、それ以降は使いまわす。使う側は何も考えずに、getDAOメソッドで必要なものを呼びだすだけで、最適な処理を行える。

AMP 非対応のコンテンツです。こちらからご覧ください。

今回のまとめ

 今回解説したサンプルアプリは、http://www.apcon.jp/itmedia2004/07/download.htmから、直接ダウンロードして試すことができる(ドコモ端末のみ)。また、ソースはこちらからダウンロードが可能だ。

 これまで、2回に渡ってネットワーク対戦アプリのサーバ側(加えてアプリの通信部分)の解説を行ってきた。ここまでくると、ネットワーク対戦アプリに必要なパーツは一通り揃ったといってよいだろう。しかし、まだまだ基本的なところしか用意されていない。これでは目の肥えたユーザーは満足してくれないかもしれない。次回はこのアプリをさらによいもの、面白いものにするため、どういう改善方法があるかという点について考察する。

AMP 非対応のコンテンツです。こちらからご覧ください。

筆者紹介──澤橋辰典・武上将樹

 ケータイアプリ(iアプリ/EZアプリ/Vアプリ)のNo1ポータルサイト「アプリ★ゲット」を運営するスパイシーソフトに勤務。

 澤橋は学生時代、iアプリのコンテストでゲームアプリやツールアプリを制作し、入賞経験がある。また、所属していたサークルの後輩に、ものづくりの楽しさやアプリの奥義を授け、その後輩も入賞していることから、自らをiアプリエヴァンジェリスト(伝道者)と呼んでいる。現在も大手企業にOEM提供しているアプリの開発を行っている。

 武上は、イーアクセスとの共同事業「どこでも読メール」や、各社にOEM提供しているアプリメールサービスなどで、主にサーバサイドやデータベースまわりの開発を担当している。ゲームアプリは、もっぱらプレイ専門。

AMP 非対応のコンテンツです。こちらからご覧ください。

前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.