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/
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>
川原 翔吾
https://github.com/kawahara/opOpenSocialPlugin/commit/7406adc
にて、分割を行いました。
まだ簡単な動作確認しかしていませんが、概ね大丈夫そうです。
クラス分割については下記チケットで進めています。
http://redmine.openpne.jp/issues/2243