実装方針を確定しておく目的で書きました。
  • 基本的には、iPhoneアプリの「Pixiv」で使用されているAPIをラップすることを目的とする。
  • Pixivの全機能を外部から使用できるようにはしない。という予定。やるなら、上記の目的が達成されてから。
  • 取得できる情報はすべてクラスで管理する。
  • メソッド名は、以下の基準に沿って命名する。
    • 取得するデータの種類がわかりやすいこと。(ex. Imageクラスのものなのか、Novelクラスのものなのか)
    • データの取得元がわかりやすいこと。(ex. ログインしているユーザーからお気に入りを取得しているのか、指定したユーザーからお気に入りを取得しているのか)
    • 「公開」「非公開」の別があるものは、"Public"or"Hidden(Hide)"の表示をすること。
  • メソッドの引数は基本データ型を中心とする。(ex. ユーザーIDを必要とするAPIをラップするメソッドに、Userクラスのインスタンスは求めない。string型のユーザーIDを渡す。)



APIで取得できるデータは、以下に関するもの。
  • イラスト系作品(Illust, Manga)
  • 小説作品(Novel)
  • コメント(Comment)
  • タグ(Tag)
  • ユーザー(User)
このうち、IllustとMangaはCSVの構造が似ているうえ、(おそらくPixivサーバー内で同じDBテーブルに格納されているために)IDが共通なので、Imageという基底クラスを作成。
さらに、「IDを持つ」「コメントが付く」「閲覧数、評価回数、評価点が付く」「作者がいる」「タグが付く」という、Pixivに投稿できる作品に共通の要素を抽出したItemという基底クラスを作成。
ItemじゃなくてWorkにした方がよかったかもしれないと考え中。

Last edited Feb 20, 2012 at 11:12 AM by kikuchy, version 2

Comments

No comments yet.