トップページgamedev
1001コメント599KB

タスクシステム総合スレ part3

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/11/09(日) 11:51:40ID:+pjnJyQQ
タスクシステムについての議論、相談、質問、雑談などのスレです

part2 http://pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/
0816名前は開発中のものです。2009/01/30(金) 09:41:25ID:+pNTqaYg
えーと聞いていいかな
タスクシステム=オブザーバー・パターンという場合、そのタスクシステムはどういうもので
サブジェクトとオブザーバーはどこにあって、それはどういう振る舞いをするの?

タスクシステムって>>2を見る限りはリストひとつになんでもかんでも放り込んでごった煮にして
一定の時間間隔で定期的に巡回UPDATEする仕掛けを提供するだけで後はおまえらで勝手にやってね
というようなものにしか見えないんだけど、どこにオブザーバー・パターンがあるの?
0817名前は開発中のものです。2009/01/30(金) 10:52:34ID:88nsX3SX
>>816
リストひとつになんでも放り込んで
→VSYNCイベントを受け取りたいオブザーバを登録して

一定の時間間隔で定期的に巡回UPDATE
→VSYNCイベントをオブザーバにnotify

ほら同じだ
0818名前は開発中のものです。2009/01/30(金) 11:26:26ID:ffjsoOsM
>>814はびっくり発言連発するからほっとくとして。

>>817
それってまさにデザインパターンを強引に適用した、あるいは強引にそうみなそうとした、じゃね?
果たしてフレームの更新をsubjectの状態の変化と捉えるか普通? いや、捉えられないって言ってるわけじゃないけど。
また、パターン全般は再利用性があることが前提になる。もちろんクラスライブラリにしても意味のないパターンもあるが、
イベントなんてJavaやC#ならデフォがいる。そのくらいクラスライブラリ化が簡単に出来るものだ。

となると。オブザーバーパターンは、最低限のメソッドに提供することが前提で(可能な限り自由性を持たせる)、
クラスのある言語ならクラスライブラリとして構築できなきゃビミョーなんじゃないの?

でそう考えると。>>553に類似する構造が前提になりそうなんだが。
さてさてこのスレで散々語られてたタスクシステムはどうでしょうか。

0819名前は開発中のものです。2009/01/30(金) 11:45:35ID:88nsX3SX
>>818
そうかなぁ
オブザーバってのは割り込みハンドラやシグナル、
イベントディスパッチャ/コールバックのようなものを
OOのデザパタとして記述したものでしょ
Document/Viewみたいなのにも使われるから、適用範囲はもっと広いけど

>>2はアセンブラかせいぜいCで記述されたものだろうから、そりゃ表面的には
違うだろうさ、だが本質的には別に大した違いじゃないように見えるけどな

VSYNCをイベントとして「捉えない」ほうが、俺には意味が分からないけど
■ このスレッドは過去ログ倉庫に格納されています