sitimi.jsの拡張案

Model間のデータの受け渡し方法案

継承

i3.model("super")
({
  data:0
})

i3.model("sub", "super")
("getData", function(){
  return this("data");//0を返す
})

superのデータはsuperからでもsubからでも使用出来る案。
Model間の依存が大きくてあまりやりたくない手段。
superにprocessを定義せずにただのデータ構造として使えばいいんだろうけど、技巧の必要な機構には欠点があると思う。

そもそもそんな機構を作らない

window直下にグローバル変数作ればよくね?

無名のModelは全てのModelの基底となる

i3.model({
  data:"お腹すいた"
})

i3.model("model")
("getData", function(){
  return this("data"); //"お腹すいた"を返す
})

prototype的な何か。
でもこれだとアクセス制限とか出来なさそうだなぁ。しなくても良いのかもしれないが。
ところでこれ、継承と同じ欠点あるんじゃないの

結局

無名のModelを採用します。phantom Modelって名前にしようと思います。
phantomはprocessを持たないデータのみのModelで、全てのModelに暗黙的にデータを追加します。