opJsonDbOpensocialService クラスの分割提案

1 view
Skip to first unread message

Kimura Youichi

unread,
Jun 21, 2011, 4:49:36 AM6/21/11
to op-opensoci...@googlegroups.com
木村です。

1.4 リリースに向けての MediaItem アップロード対応などで、今後
opJsonDbOpensocialService クラスの肥大化が予想されるため、このクラスの分
割を提案したいと思います。

分割を提案する理由は以下の通りです:

* opJsonDbOpensocialService クラスは opOpenSocialPlugin に含まれているク
ラスの中で最長 (./lib/vendor 以下を除く) の 768 行となっており、さらに今
後機能追加されることが予定されている。

* Shindig の設定で各サービスごとに別々のクラスを指定可能であるため、分割
作業はあまり困難ではない (と予想している)。

* 最近 PageDown キーの反応が鈍ってきた

具体的な分割方法としては、PersonService、AppDataService、ActivityService
などの各サービスごとにクラスを分割し、ディレクトリを lib/util から
lib/services に移動したいと考えています。

(分割前)
lib/util/opJsonDbOpensocialService.class.php

(分割後)
lib/services/opOpenSocialPersonService.class.php
lib/services/opOpenSocialAppDataService.class.php
lib/services/opOpenSocialActivityService.class.php
lib/services/opOpenSocialMessagesService.class.php
lib/services/opOpenSocialAlbumService.class.php
lib/services/opOpenSocialMediaItemService.class.php


意見や質問等があれば指摘して下さい。宜しくお願いします。

--
Kimura Youichi <kim.u...@bucyou.net>
http://upsilo.net/~upsilon/

Kawahara, Shogo

unread,
Jun 21, 2011, 8:54:03 AM6/21/11
to op-opensoci...@googlegroups.com
川原です。

opOpenSocialPlugin 0.8 時代からの名残ですね。
Service ごとにクラスを分離することは大いに賛成です。

但し、現在の opJsonDbOpensocialService にある、
getIdSet(), fixStartIndex(), fixCount() は各サービス共通で使われているものなので、
各サービスの親クラス (抽象クラス) で、それらの機能を用意してやる必要があるでしょう。

ちなみに、 http://redmine.openpne.jp/issues/1484 について
テストケース (Unit Test) が完成している状態で実装前の状態なので
なるはや (今週中) くらいには、
この点について決定され、実際に分割されていると嬉しいです。

とくに反対がなければ分割していいと思います。

2011年6月21日17:49 Kimura Youichi <kim.u...@bucyou.net>:

--
----------------------------------------------------------
Shogo Kawahara <kawa...@bucyou.net>
川原 翔吾

Kimura Youichi

unread,
Jun 24, 2011, 7:06:39 PM6/24/11
to op-opensoci...@googlegroups.com
木村です。

https://github.com/kawahara/opOpenSocialPlugin/commit/7406adc
にて、分割を行いました。
まだ簡単な動作確認しかしていませんが、概ね大丈夫そうです。

クラス分割については下記チケットで進めています。
http://redmine.openpne.jp/issues/2243

Reply all
Reply to author
Forward
0 new messages