問題タブ [cake-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
130 参照

scala - Cake パターンでデータベース クライアントを抽象化する

Cake パターンを使用して SearchService の抽象化を作成しようとしています。これは私が現在持っているものです:

次のように、DbSearchServiceComponent と LuceneSearchServiceComponent があるとします。

同様に...

上記のスニペットで私が抱えている問題は、

Service 実装で lucene クライアントと db クライアントのインスタンスを初期化しました。

理想的には、Db クライアントまたは Lucene クライアントのいずれかになる「クライアント」基本タイプを「ミックスイン」したいのですが、ここでポリモーフィック クライアント タイプを注入する方法についてかなり混乱しています。

SearchService トレイトの実装にさまざまなバージョンのクライアントを挿入できるように、コードをリファクタリングする方法を誰かが指摘できますか?

0 投票する
1 に答える
164 参照

scala - ケーキのパターン: 形質に混ぜる

ケーキのパターンで遊んでいて、よくわからないことがあります。

次の共通コードが与えられます。

それらを混合する次の方法が機能します

しかし、以下はそうではありません

エラーあり:

依存関係がすべてのサブクラスに共通であることがわかっている場合、依存関係を階層内で「押し上げる」ことができるはずではありませんか?

Controller依存関係を解決せずにインスタンス化しない限り、コンパイラは依存関係を持つことを許可すべきではありませんか?

0 投票する
2 に答える
2109 参照

scala - Scala Slick Cake パターン: 9000 以上のクラス?

Play を開発中です。Slick 2.0 を使用した Scala の 2.2 アプリケーションと、Cake パターンの使用を試みて、データ アクセスの側面に取り組んでいます。有望に思えますが、本当に単純なことを達成するために、大量のクラス/特性/オブジェクトを作成する必要があると本当に感じています。だから私はこれにいくつかの光を使うことができました.

概念を使用した非常に単純な例を挙げると、User私が理解している方法は次のとおりです。

これまでのところ、それは完全に合理的です。次に、「Cake Patternable」を追加しますUserRepository

次に、次のものがありUserServiceます。

次に、これらすべてをオブジェクトに混ぜます。

  1. 本当にUserRepository便利?洗練されたオブジェクトfindByNameでカスタムクエリとして書くことができました。Users

  2. Customer用にこのようなクラスの別のセットがあり、その中でいくつかの機能を使用する必要があるとしましょうUserService

私はすべきですか:

また

0 投票する
1 に答える
63 参照

scala - プレイ内でケーキパターンを使用して UserService をセットアップする方法は?

現在、次のようなコントローラー内で UserService を接続するために Guice を使用しています。

私の UserService は次のようになります。

依存関係として guice を削除して Cake パターンを使用したい場合、コードはどのようになり、これを Play に統合してコントローラーでこのサービスを使用できるようにするにはどうすればよいでしょうか?

0 投票する
1 に答える
68 参照

scala - このscalaコードは依存性が注入されていると言えますか?

Scala のケーキ パターンに関する記事をいくつか読んだことがありますが、基本的には理解できました。以下は、この記事からコピーしたサンプル コードです。

コンポーネント:

それらを結合するオブジェクト:

シンプルなプロジェクトならもっとシンプルにしたい。コードは次のようになります。

それらを組み合わせる:

私の質問は、私のコードを「依存関係が挿入された」として扱うことができるのでしょうか?

  1. UserServiceのコンストラクターで依存関係を宣言しました
  2. それらをさまざまな環境のオブジェクトと組み合わせます

しかし、「コンポーネント」としていくつかの特性を提供していません。

0 投票する
1 に答える
407 参照

scala - Scala の Cake パターン

ケーキのパターンについての理解を単純なスカラ コードに変換しようとしていたところ、コンパイルされていないことがわかりました。以下のコードを見て、パターンを理解する方法の問題を教えてください。私はこの記事を読んで、似たようなことを試していました( http://www.cakesolutions.net/teamblogs/2011/12/19/cake-pattern-in-depth )

以下のコードで--println("This is " + userServiceComponent.whatCalc1) //> This is ()印刷されると思っていましたThis is ScifiCalc Calcが、印刷されますThis is ()

コード:-