问题标签 [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.

0 投票
1 回答
465 浏览

asp.net-mvc - ASP.NET如何实现IServiceLayer

我正在尝试按照此处找到的教程在我的 MVC 应用程序中实现服务层。我无法弄清楚如何将它们全部连接起来。

这是我到目前为止所拥有的。

IUserRepository.vb

用户存储库.vb

用户服务.vb

用户服务.vb

如上文所述,我还连接了IValidationDictionary.vbModelStateWrapper.vb

我遇到的问题实际上是在我的控制器中实现它。我的控制器看起来像这样。

但是在说Public Sub New(ByVal service As Data.IUserService)我遇到错误的行上

“服务”不能通过“UsersController”类在项目外部公开类型“Data.IUserService”

所以我的问题是两部分

  1. 如何使用该文章中的概念在我的应用程序中正确实现服务层?
  2. 我的IUserService.vb中应该有任何内容吗?
0 投票
1 回答
1093 浏览

java - 如何以良好的方式混合 Hibernate 和 Swing

我对与 Hibernate 的交互有一些疑问:

  1. 我是使用 openSession 还是 getCurrentSession(没有 jta,而是使用线程)?
  2. 如何将会话操作与 Swing GUI 混合使用?在 JavaBean 类中有类似以下代码的东西好吗?

    /li>
  3. 我可以向包含 HQL 查询的实体添加方法,还是这是一种不好的做法?例如:

    /li>

我怎样才能以更好和优雅的方式做到这一点?

更新 一个广泛使用的做法是制作一个服务/dao类来实现我们实体类的CRUD操作。但为什么这样好?为什么我必须为每个实体编写一个类来管理它?真正的优势在哪里?

更新 2 服务类是 DAO 模式?这是什么意思? Arthur Ronald FD Garcia 的存储库示例是一个 DAO 模式,这就是所谓的“服务层”吗?

0 投票
1 回答
253 浏览

grails - 在没有用户界面的情况下使用 Grails

我正在考虑我们基于 EJB 的服务层的可能替代方案,并想知道将 Grails 的服务和数据库层与Remoting 插件一起使用是否有意义,或者这是使用大锤来破解坚果?

说到远程处理插件:是否有生成 JAR 文件的标准方法,该文件包含从非 Spring Java 应用程序远程调用 Grails 服务所需的类?

0 投票
1 回答
1038 浏览

asp.net-mvc - ASP.NET MVC (MVC2) 使用 Linq to SQL 和存储库层插入/更新数据时的最佳实践

我在这里有点困惑,我希望你们中的一些大师能帮助填补空白。

我目前面临的情况是关于我的“用户”表和“OpenID”表。我的应用程序允许用户拥有多个 OpenID,因此我在单独的表中跟踪它们。

用户
ID
用户名

OpenID
ID
UserID
Claimedidentifier

我为每个表都有一个 CRUD 存储库,并且我还有一个与存储库接口的服务(每个存储库一个服务)。

我的问题是关于插入新用户(因为更新将遵循相同的原则)。这是我脑海中的选项。

  1. 让 UserService 插入一个新用户,检索用户的 ID,然后使用 UserID 插入一个新的 OpenID
  2. 让 UserService 将新用户连同 ClaimedIdentifier 一起发送到 UserRepository,并让存储库同时插入 User 和 OpenID(这不太适合 CRUD 方法)
  3. 创建 User 表和 OpenID 表的视图,创建 UsersOpenIDRepository 和 UsersOpenIDService,然后插入到视图中。

超出我能想到的任何其他想法或建议将不胜感激。

请注意,我没有使用 NHibernate,因此我可以对我的域进行建模,但是我认为合适。我在这个项目上坚持使用 Linq to SQL,

0 投票
1 回答
1344 浏览

linq-to-sql - 使用 JOIN 将 Linq 转换为 Sql 到 IQueryable 选择

我有一个函数,GetUserByOpenId 我根本不想使用这个函数

我真正想做的是使用我的“GetUsers”函数(IQueryable)并在我的服务层中执行 JOIN。

谁能告诉我使用与此类似的函数返回适当数据的方法是什么样的

0 投票
1 回答
435 浏览

asp.net-mvc-2 - 关于 ASP.NET MVC 2 自定义 ViewModels 的问题

在我的项目中,我有我的 Linq To SQL dbml 文件、每个数据库表的存储库层和每个存储库的服务层。

在我的服务中,我有一些用于验证的元数据,并且我扩展了每个(表)类以向对象添加一些自定义信息(您将在下面的代码中看到这一点)。

我的问题是,我应该考虑为每个(表)类构建一个自定义 ViewModal,而不是在服务层中使用扩展类吗?

下面是我现在拥有的一个例子。

存储库

服务

目前在我的控制器中,我像这样将模态数据发送到我的视图

现在我遇到的一件事是每当我需要使用 Slug 时都需要将用户对象发送到 Slug 属性

所以正因为如此,为每个(表)类创建一个自定义 ViewModal 并简单地执行以下操作对我来说更好吗

在我看来,分离是一件好事,但仍然需要大量的时间来构建。只是想知道权衡的好处,或者是否有更好的方法来完成同样的事情?

0 投票
2 回答
463 浏览

wcf - 在分层架构中哪里抛出异常?

我有一个应用程序通过使用 WCF 开发的服务层提供其业务层。我在想的是:这个服务层提供了创建、更新等操作方法。然后这些操作将这些调用重新路由到业务层。问题是:假设其中一个调用不接受空输入值(例如:创建空对象),执行检查的最佳位置在哪里?我个人的答案是在两个地方(服务和业务),因为我可以保证在不使用服务层的情况下重用业务层,反之亦然。

我对吗?

谢谢马可

0 投票
1 回答
244 浏览

asp.net-mvc-2 - 在 asp.net mvc 中更新模型

我们的项目经理要求我们重构一个使用存储库模式的应用程序(以 Nerddinner 为例),现在使用服务层。我现在的问题是我不确定如何更新模型,因为 UpdateModel 方法应该在控制器中使用......有什么推荐的方法来使用存储库模式和服务层更新模型?请帮忙

0 投票
4 回答
714 浏览

performance - 拥有数据访问层/服务层对性能的影响?

我需要设计一个具有以下基本组件的系统:

  • 将获得约 100 个请求/秒的 Web 服务器。网络服务器只需要将数据转储到原始数据存储库中。
  • 原始数据存储库,它有一个从网络服务器获取 100 行/秒的表。
  • 一个原始数据处理单元(处理简单,不多。删除无效的原始数据,将丢失的组件插入损坏的原始数据等)
  • 已处理的数据存储库

在这样的系统中拥有一个所有组件都将构建在其上的服务层是否有意义?所有组件间的交互都将通过服务层。虽然这将使系统易于升级和维护,但由于我有这么多的流量要处理,它不会对性能产生重大影响吗?

0 投票
2 回答
1536 浏览

domain-driven-design - 我是否正确使用服务层?

我一直在阅读 DDD,我认为我可能错误地使用了服务,或者至少以不太理想的方式使用了服务。我的服务类往往有很多包含存储库引用的实例变量,它们似乎做了很多工作(即有很多方法)。

创建更有针对性的服务是否可取?就像每个服务执行某种特定逻辑的一种方法一样?此外,服务类是否应该将实例变量存储到其他实体?我读过一些关于服务是无状态的,我不确定我是否通过拥有这些实例变量而违反了该规则。

谢谢!