いくつかソースを見てきたのですが、 時と場合による としか言いようがない感がすごいですね。 ただ、当たり前ですが、 基本的にはMVCに則って作っていくのが良いです。 そして、Modelをちゃんと切り分けるというのが、テストをする上で非常に大事になってくるかと思います(一番テストしやすく、一番テストするべき)。結局テストを書かないにしても、テストしやすいコードは正義です。 さて、どうやって切り分けるかですが、ここが難しいです。 M,V,CとおまけのDelegateを、他の設計やソースを引き合いに出しながら、印象などを語っていきます。 Model Modelに関してですが、 Modelに通信機能を持たせる 通信を管理するClientが存在する という、2つのやり方がありそうです。 前者はBackbone.jsであったり(ModelやCollectionがfetchする)、Railsであったり(