2

私はC#からScalaに来たとき、よく知られたDIフレームワークをほとんど使用していませんでしたが、それらについて読んで、最近Scalaのケーキパターンに気づきました。

ただし、リンクに記載されているように、ケーキパターンでは、コンポーネントが初期化される順序を制御できません。

私にとって、これは、初期化時にコンポーネントが相互に必要な場合にのみ問題になります。これは、設計上の欠陥のようです:)

順序付けられた初期化が必要であり、初期化を担当する別のコンポーネントコンテキストを使用しても解決できない場合はどうなりますか?

4

1 に答える 1

2

彼の講演「BLACKLAGOONのパン屋」で、ダニエル・シュピーワクはその特定の問題に対処するいくつかの方法を示しています。

スライド-> https://dl.dropbox.com/u/1679797/NE%20Scala/Bakery%20from%20the%20Black%20Lagoon.pdf

ビデオ-> http://www.youtube.com/watch?feature=player_embedded&v=yLbdw06tKPQ

講演からの抜粋:

デッドロックの可能性を犠牲にして、valの代わりに遅延valまたはdefを使用することで、nullポインター例外を回避できます。

于 2013-03-22T13:44:52.260 に答える