11 November 2007
[SIXX 0.3] 正式リリース
各Smalltalkで利用可能です。詳しくはSIXX HomeやSIXX Wikiをご覧ください。
今回の目玉はFormatterです。サブクラスを定義しなくとも、動的にシリアライズのフォーマットを変化させることができます。
SixxContext applyFormatters: {SixxMockLiteralArrayFormatter on: Array} while: [
array sixxString.
]
とすると、いつものArrayのフォーマット書き出しが、SixxMockLiteralArrayFormatterの方へと移譲されます。
'<sixx.object sixx.id="0" sixx.type="Array" sixx.formatter="SixxMockLiteralArrayFormatter" >
<sixx.object sixx.id="1" sixx.type="String" >#(1 2 3 4 5)</sixx.object>
</sixx.object>'
書き出されたSIXXには、新たなattributeであるsixx.formatter="フォーマッタ名"が埋め込まれます。SIXX読み込み時には、同名のFrmatterがイメージ内にあれば、デシリアライズが移譲されるというわけです。
「インスタンスの状態に応じてシリアライズのフォーマットを最適化したい」等の場合に有効です。
お試しください。
その他の機能はこちら。
リッチな機能を提供しつつも、比較的シンプルに収まっているのはSmalltalkの威力であると思います。