問題タブ [service-layer]
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.
c# - ObjectDataSource - エンティティとは異なるクラスにロード メソッドを配置できますか?
私は次のクラスモデルを持っています:
ObjectDataSource (ODS) を GridView にバインドして、ASP.Net Web ページにデータを表示しています。
「ODS.TypeName = PersonService」を指定すると、「オブジェクトがターゲット タイプと一致しません」というメッセージが表示されます。データのロード中にエラーが発生しました。
「ODS.TypeName = Person」を指定すると、データをロードする GetAll() メソッドが見つかりません。
ODS をこのモデルにバインドすることは可能ですか (つまり、メソッドと型の個別のクラス)?
編集: Type および Select メソッド名が正しい(および完全修飾されている)ことを再確認しました。ODS が上記のモデルで動作することを証明するために、別の簡単なテスト プロジェクトを作成しました。動作します。現在の唯一の違いは、壊れたプロジェクトが EF 4.1 で定義されたエンティティを使用していることです。これは問題を引き起こしますか?
spring - @EJB、@ PersistenceContext、@ Inject、@Autowiredを使用して@FacesValidatorに注入する方法
、、、、など@EJB
の依存関係をに注入するにはどうすればよいですか?私の特定のケースでは、SpringマネージドBeanを次の方法で注入する必要があります。@PersistenceContext
@Inject
@AutoWired
@FacesValidator
@AutoWired
ただし、注入されずに残りnull
、結果としてjava.lang.NullPointerException
。のようで@EJB
、@PersistenceContext
また@Inject
動作しません。
DBにアクセスできるように、バリデーターにサービスの依存関係を挿入するにはどうすればよいですか?
c# - IService は IRepository を正しく拡張しますか?
私の IService には IRepository が持つすべての機能があり、さらにいくつかの特定の操作があると言うのは正しいでしょうか?
コードは次のとおりです。
IRepository
のすべての操作もであることに注意してくださいIService
。
これは正しいです?
その場合は、次のようにするとよいでしょう。
別のオプションは次のとおりです。
リポジトリをプロパティとして配置し、サービス クラスでこのプロパティを公開していることに注意してください。
したがって、リポジトリ内のオブジェクトを追加、削除、または取得する必要がある場合は、このプロパティを介してアクセスできます。
あなたの意見は何ですか?これを行うのは正しいですか?
asp.net-mvc - サービス層とビジネス層-違いはありますか?
私はサービスレイヤーとビジネスレイヤー、およびそれらの比較について多くのことを読んでいます。私はこのトピックに関するStackOverflowのスレッドをいくつか読んだことがありますが、2つの違いがある場合は、それでも混乱しています。私には、主に、ある開発者が中間層をビジネス層と呼び、別の開発者がそれをサービス層と呼ぶ命名規則のようです。私がここSOやWebで見たコードから、彼らは主に同じことをしているようです-つまり、リポジトリにクエリを実行し、フィルタリングや検証を行って、結果をプレゼンテーション層に返します。では、誰かが2つの違いを明確にすることができますか?または、評価にマークがありませんか?
私はEF、MVC 3、VBNET、FYIで作業しています
asp.net-mvc-3 - サービス レイヤー パターンを使用する場合、Visual Studio 2010 ソリューションのフォルダー レイアウト規則はありますか?
ASP.NET MVC 3 アプリケーションに Service Layer パターン ( Martin Fowler のサイトで説明されているように) を使用したいと考えています。
私の目標は、コードを掘り下げる前に適切なフレームワークをセットアップすることで、パターンをより簡単に学習できるようにソリューション構造をセットアップすることです。
Visual Studio 2010 ソリューション内でソリューション、プロジェクト、およびフォルダーをレイアウトする従来の方法を誰かに教えてもらえますか?
hibernate - EntityManagerは、適切に分離されたサービス層とデータアクセス層でどのように使用する必要がありますか?
私の他の質問にいくらか関連しています。生のHibernate注釈付きPOJOをデータアクセス層から返す必要がありますか、それともインターフェイスから返す必要がありますか?、私はうまく分離されたレイヤーの作成の経験がありますが、HibernateまたはJ2EE/JPAを使用していません。私はドキュメントとチュートリアルを見てきましたが、EntityMangerをエレガントな方法で使用する方法に戸惑っています。これは、トランザクション(サービス層で実行したい)と永続化メソッド(必要な)の両方を担当しているように見えるためです。データアクセス層に保持するため)。サービス層で作成してデータアクセス層に注入する必要がありますか、それともより良い方法がありますか?以下の疑似Javaは、私が考えていることを大まかに示しています。
編集:以下の私の擬似コードは、基本的に休止状態のJPAチュートリアルから取得され、レイヤー分離用に変更されており、製品がEJBコンテナー(Glassfish)で実行するように開発されていることを反映していません。回答では、Glassfishまたは同等のコードで実行されるコードのベストプラクティスとコード例を示してください。
zend-framework - ZF1-Doctrine2-ServiceLayer
Guilherme Blancoの「ZF1-Doctrine2-ServiceLayer」を理解するのを手伝ってくれる人はいますか?
基本的なセットアップを使用して実行しようとしています。しかし、githubサンプルはうまくいきません(「application.ini」からではなく、serviceLocator.iniから「Service Locator Configuration」を使用する必要がありましたが、今では正しく初期化されているようです)。使い方の注意書きが見当たりません。おそらくばかげた質問ですが、コントローラーでサービスを取得するにはどうすればよいですか? このようなもの?
「サービス 'TestService' が見つかりません」という例外が発生します。
誰かがこのソリューションのサービス ロジックに関する小さなガイドを提供できますか? どうもありがとう
architecture - サービス レイヤーはステートレスにする必要がありますか?
たとえば、コントローラーとドメインモデル(つまり、リポジトリ、エンティティなど)の間の関係を行うサービスレイヤーがあります。
私のサービスでは、エンティティを「取得」するメソッドがgetArticles
ありますが、配列の結果またはオブジェクトのコレクションを返す必要があります。
そこで、メソッドに引数を追加しましたgetArticles($array = false);
(実際、私のサービスはオブジェクトをキャストしません。これはリポジトリによって行われますが、API にそのオプションを提供する必要があります)
私のサービスはますます大きくなっており、メソッドのパラメーターで定義するのが良い考えかどうか疑問に思っています。それは、サービスがステートレスであるべきだと思ったからだと思いましたが、そうならないかどうか疑問に思っています私のサービスsetUseArray($flag)
がそれにプロキシするときに、基本的に私のリポジトリにそのフラグを実行してフィードするメソッドをサービスに用意することをお勧めします。
同じ考えで、サービスを使用してページ分割された結果を返す場合、各メソッドでページとアイテム数を設定する必要がありますか、それともサービスでグローバル メソッドを使用する必要がありますか?
フィードバックはありますか?
asp.net-mvc - ASP.NET MVC - Service Layer <-> Controllers
Let's say you're implementing your own version of stackoverflow (once again, yes)
You have a service that provides all the required functionality like this:
That seems to be pretty simple and generally I believe it's a good idea. The only thing that I don't like here is that client code (ASP.NET MVC controllers) has direct access to Question
s and Answer
s. Pretend we have some tough BL related with posting questions and answers. It's good idea to have this logic concentrated in a "single place" - on a service layer. In case your client code has access to Question
s, it's possible that someday somebody will decide to add "just a little bit of logic" to one of your controllers which is basically bad idea.
I'm thinking about defining a number of DTOs which will be the part of service interface, so the client code will only be able to work with these DTOs that contain "just the right amount of details".
Let's say your question entity is defined like this:
When posting the question, the request should only contain Title
, Text
and Poster
. So, I'll define a PostQuestionDTO
:
When somebody opens the page to check the question, there's a little bit more details like Posted
and Edited
:
And so on. Is it a good practice or do you think it's overengineering? What are the common approaches here?
design-patterns - Doctrine2リポジトリは私のエンティティを保存するのに適した場所ですか?
リポジトリに関するドキュメントを読むときは、エンティティとコレクションを操作することがよくありますが、「読み取り専用」の方法で作業します。
insertUser(User $user)
リポジトリにまたはのようなメソッドがある例はありませんupdateUser(User $user)
。
ただし、SOAを使用する場合、ServiceはEntity Managerと連携してはなりません(そうですよね?)。
- 私のサービスはグローバルEntityManagerを認識している必要がありますか?
- 私のサービスが使用済みのリポジトリ(たとえば、UserRepositoryとArticleRepository)についてのみ知っている必要があります
その両方の質問から、別の質問ですが、私のサービスは明示的に、そして私のエンティティはこれまでにすべきpersist()
でしょflush()
うか?